Предположим, у нас есть таблица, подобная приведенной ниже.Ограничить результаты MySQL одному из каждой «группы»
Id | Name | Group
-----------------
1 | John | 1
2 | Zayn | 2
3 | Four | 2
4 | Ben_ | 3
5 | Joe_ | 2
6 | Anna | 1
Следующий запрос выберет все из них.
SELECT `Name` FROM `Table` WHERE 1;
Как выбрать одного человека из каждой группы? Кто это не имеет значения, если существует только одно имя из группы 1 и одно имя из группы 2 и т. Д.
Предложение GROUP BY
не подходит для этого (в соответствии с моей консолью ошибок), потому что я выбор не агрегированных значений, что имеет смысл.
Предложение DISTINCT
тоже не очень хорошо, так как я не хочу выбирать группу, и определенно не группу по их именам.
Он должен выбрать «Имя» из каждой «Группы», возвращая что-то вроде «Джон, Зайн и Бен». – Lolums
John - это максимальная группа форм 1, Zayn - максимальная группа форм 2, а Ben max для группы 3 ... кажется мне прав. – scaisEdge
Вы правы, это действительно работает. Я создал скрипт SQL, чтобы проверить его. (Http://sqlfiddle.com/#!9/c272c/3) – Lolums