Найти популярные маршруты. (sql order by count 2 columns)

151
27 декабря 2021, 16:30

подскажите плиз, есть таблица с маршрутами там, понятно, id, еще всякие поля но нас интересует города откуда и куда

Задача. Выбрать 15 самых популярных маршрутов. То есть count у которых больше. Но заминка в том, что я не могу понять как это сделать именно по 2 полям. То есть примерно вывод ожидаю следующий Москва - Санкт-Петербург Санкт-Петербург - Москва И так далее по популярности. Отдельно, например куда с москвы ездят самое большее, могу выбрать, а вот именно по 2 полям не получается. Помогите, плиз

Answer 1

У вас огромное количество записей в данных, где from_id и to_id равны 0. Поэтому группировка по Id не дает результата. Вообще это не очень хорошая идея хранить и название города и его код в одной таблице. Лучше таблица с городами, а в таблице с поездками их коды.

Вот запрос, который решает вашу задачу

select 
 town_from, town_to, count(id) as total 
from 
 trip 
group by 
 town_from, town_to 
order by 
 total DESC;

Результат

Москва  Минск   301
минск   москва  231
Москва  Санкт-Петербург 165
Санкт-Петербург Москва  160
санкт-петербург минск   100
READ ALSO
Ограниченный список строк в txt

Ограниченный список строк в txt

Как сделать добавление текста в txt файл c определенными условиями?

97
Подключение к phpmyadmin

Подключение к phpmyadmin

Не получается сделать подключение к серверуДанные вводятся, но на phpmyadmin не остаются

282
Переадресация email средствами PHP

Переадресация email средствами PHP

Мой сайт получает email на адрес "user@mysiteru", и я желаю совершить переадресацию этого сообщения на реальный почтовый адрес пользователя (скажем,...

175
Объединение строк таблицы

Объединение строк таблицы

Помогите, пожалуйста, с SQL запросом: нужно объединить поля message для записей, у которых совпадают поля ref в такой примерно таблице:

81