@sv2204

Как правильно отсортировать выборку из базы php mysql?

Как правильно отсортировать выборку из базы php mysql?
Есть таблица например TABLE в ней столбцы id, name, years, city
Выборка с сортировкой по id
SELECT id, name, years, city FROM table  ORDER BY id

Результат:
1 Иван 35 Москва
2 Сергей 20 Тула
3 Марина 25 Кемерово
4 Денис 26 Москва
5 Валерий 30 Белгород
6 Светлана 27 Тула
7 Наталия 36 Москва

Но нужно сделать сортировку что бы результат был таким:
4 Денис 26 Москва
1 Иван 35 Москва
7 Наталия 36 Москва
2 Сергей 20 Тула
6 Светлана 27 Тула
5 Валерий 30 Белгород
3 Марина 25 Кемерово
первыми идут где больше всего совпадений по столбцу city.
нужна сортировка по наибольшему количеству совпадений в столбце city.
не по названиям городов, а по наибольшему количеству совпадений городов
  • Вопрос задан
  • 1198 просмотров
Пригласить эксперта
Ответы на вопрос 5
@LemonFox
stateless mind
Не совсем ясна логика по какой вы предлагаете сортировать.
См php.net/manual/ru/array.sorting.php и выбирайте что нужно
Ответ написан
@1001001
ORDER BY city, name

update:
select tab1.id, tab1.city, tab1.name, tab1.years from docs as tab1 inner join (select city, count(city) as count  from docs group by city order by count(*) desc) as tab on tab1.city = tab.city order by tab.count desc;
Ответ написан
alex-1917
@alex-1917
Если ответ помог, отметь решением
SELECT * FROM table ORDER BY city, years
сначала сортировка по городу, при одинаковом городе - сортировка по возрасту
в вашем примере имхо бред, так как какая сортировка нужна, не ясно ХОТЬ УБЕЙ)))
азбука б***
Ответ написан
ivan99
@ivan99
Изучаю web-стек, бомблю вопросами ;)
Можно добавить отдельный столбец где конкретно указывать порядок сортировки у каждого элемента, если данное решение приемлимо в проекте.
Ответ написан
Сделать выборку с группировкой для сортировки (количество кого-то по городам).
Сортировать основную выборку с учетом выборки с группировкой.
Как это объединить в один запрос не буду сейчас разбираться.
Как вариант, возможна сортировка и после выборки уже в программном коде.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
19 апр. 2024, в 03:01
1000 руб./за проект
18 апр. 2024, в 21:56
2000 руб./за проект
18 апр. 2024, в 21:00
150 руб./за проект