У меня есть таблица MySQL names
, которая состоит из двух полей: name
и rank
. Значение name
не является уникальным, может иметь несколько совпадений.
Проблема: я хочу выбрать записи, сгруппированные по name
, но если их более одного name
, нужно взять ту, которая имеет наивысший rank
.
Пример:
Том 2
Бен 1
Бен 2
ВЫБРАТЬ * ИЗ names
ГРУППА ПО name
ЗАКАЗАТЬ ПО rank
DESC
Обычно возвращает:
Том 2
Бен 1
Мне нужно:
Том 2
Бен 2
Так как есть два Бена, но второй с более высоким рангом.
Кажется, что группировка MySQL берет имя и игнорирует остальные.
Как мне упорядочить записи внутри «group by», чтобы я мог сказать, какую запись следует взять, если существует более одной с одинаковым name
?