Mysql Mysql. Выбрать старшие из дубликатов по столбцу

A_J

Новичок
Таблица имеет столбцы id, name, status, date.
Суть записи: статус лица name обновился в момент date.
Задача - получить позднейшие определённые статусы для каждого name.
Подсмотренные и адаптированные версии дают немного не то.
Я и не буду приводить примеры кода, т.к. они далеки по результату от того, что нужно.
Это явно какая-то хитрая игра с count, max и group by.

Пример таблицы (дату не привожу, для выполнения критерия достаточно max(id)):
0 john 1
1 pete 0
2 john 0
3 kate 1
4 pete 1
5 pete 0
6 john 1
7 kate 0

Результат должен быть, для выборки по status=1:
3 kate 1
4 pete 1
6 john 1
Порядок не имеет значения.
 

AnrDaemon

Продвинутый новичок
Никаких хитрых игр, просто MAX(x) GROUP BY(y)
Читаем документацию на предмет aggregate functions.
 
  • Like
Реакции: A_J

AnrDaemon

Продвинутый новичок
Так ты выберешь данные далеко не самым оптимальным образом.
Подзапросы всегда будут работать медленнее прямого запроса, сбивая оптимизатор.
 
Последнее редактирование:
Сверху