SQL PHP: Como SELECIONAR e buscar assim?

Olá, eu sei como usar SQL básico sobre selecionar, juntar, buscar
mas não tenha idéia de como obter isso no meu site (veja a captura de canvas)

insira a descrição da imagem aqui

Da captura de canvas Ele também possui número de coluna.

 query($sql); while($row = $query->fetch(PDO::FETCH_ASSOC)) { ?> 
room no. room name

UPDATE:

Eu tento com este código

 query($sql)->fetchAll(PDO::FETCH_GROUP); ?>   $list_data) { echo ""; echo ""; echo ""; } } ?> 
room no. room_name
floor ".$list_data[0]['room_floor']."
"; foreach ($list_data as $row) { echo $row['room_no']."
".$row['room_name']."

mas o resultado é

andar 2

201 | SALA A

andar 2

202 | QUARTO B

andar 3

301 | QUARTO E

andar 3

302 | QUARTO F

Não quero isso.

Felizmente você está usando DOP que já possui essa funcionalidade para você, que pode fazer exatamente o que você deseja – agrupe os dados com base em alguma coluna.

O PDO pode agrupar os resultados nas matrizes aninhadas , com base no primeiro campo selecionado. Então, você precisa listar o ID da sua lista como o primeiro campo na lista de campos e, em seguida, obter suas linhas usando fetchAll() com o modo de busca acima mencionado:

 $sql = "select room_floor, room_name, room_no from si_room"; $building = $dbh->query($sql)->fetchAll(PDO::FETCH_GROUP); 

e agora você obtém uma matriz nested arrumada onde suas linhas são agrupadas por identificação da lista!

Para fazer com que ele saia perfeitamente, você precisa usar dois operadores de foreach nesteds

 foreach ($building as $floor_no => $rooms) { echo $floor_no."\n"; foreach ($rooms as $row) { echo $row['room_name']."\n"; } }