У меня есть таблица с двумя столбцами «id» и «name». id является регулярным индексом автоинкремента, имя - просто varchar.Сортировка результата mysql. order by col1, group by col2
id name
1 john
2 mary
3 pop
4 mary
5 john
6 michael
7 john
8 will
Я хотел бы сортировать результаты поиска, как это
8 will
7 john
5 john
1 john
6 michael
4 mary
2 mary
3 pop
Id являются DESC, но все повторяющиеся имена сгруппированы вместе. Это нормально Если ASC легче достичь. Я могу при необходимости изменить результат на PHP.
Регулярное имя ORDER BY, id DESC сначала сортирует все имена, а затем сортирует идентификаторы. Я этого не хочу. Меня не интересуют алфавитные порядки имен.
Я хочу идентификатор в порядке DESC, сгруппированный по двойным именам, если таковые имеются.
p.s. Прошу прощения, это повторяющийся вопрос.
В вашем идентификаторе результата находятся ** не ** DESC –
В SQL 'ORDER BY' будут сортировать строки результатов, сравнивая их по одному. Поскольку позиция '5 john' в вашем желаемом результате зависит от положения' 7 john', это не сработает. Я боюсь, что нет реляционной конструкции, которая выполнит ваше требование. –
@Alma Do Mundo: Вы правы. Id не буквально в порядке DECS. Но есть один глобальный заказ DECS (8,7,6,4,3) и одна группа местных заказов DECS (7,5,1) (4,2) – CoR