Сгруппировать похожие записи в запросе в MySQL

Я хочу сгруппировать аэропорты, которые имеют одну и ту же колонку «город».
Прямо сейчас все они перечислены рядом, и это хорошо, но я хочу добавить дополнительный тег для каждого города с двумя аэропортами.

Например, сейчас мой код показывает:

Нью-Йорк — JFK

Нью-Йорк — Ла Гуардия

Лос-Анджелес — LAX

Но я хочу это показать

Нью-Йорк — Все

Нью-Йорк — JFK

Нью-Йорк — Ла Гуардия

Лос-Анджелес — LAX

Любая помощь приветствуется. заранее спасибо

$getairportsfrom=mysqli_query($db,"SELECT * FROM details WHERE type='Airport' ORDER BY city");

while($rowfrom = mysqli_fetch_array($getairportsfrom)) {
echo "<option value='".$rowfrom['title']."'>" . $rowfrom['city'] . " - " . $rowfrom['title'] . "</option>";
}

0

Решение

Если это ваш запрос:

SELECT city, title
FROM details
WHERE type = 'Airport'
ORDER BY city;

Вы можете получить то, что вы хотите с этим запросом:

select city, title
from ((select city, 'All' as title, 1 as ordering
from details
group by city
having count(*) > 1
) union all
(select city, title, 2 as ordering
from details
)
) d
order by city, ordering;

SQL на самом деле не предназначен для этого типа манипуляций для представления. Тем не менее, это возможно сделать.

2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]