Ваш вопрос несколько неясен, но у меня есть подозрение, что вы действительно хотите, чтобы это были не какие-либо агрегаты GROUP
, а скорее упорядочение по дате, а затем по идентификатору пользователя:
SELECT
id,
user_id,
date_recorded
FROM tbl
ORDER BY date_recorded DESC, user_id ASC
Вот будет результат. Изменение порядка примечаний на date_recorded
из исходного примера
id | user_id | date_recorded
1 | 1 | 2011-11-07
3 | 1 | 2011-11-06
2 | 1 | 2011-11-05
5 | 2 | 2011-11-06
4 | 2 | 2011-11-03
Обновление
Для получения полной последней записи для каждого user_id требуется JOIN
. Подзапрос (mx
) находит последний date_recorded для user_id, и этот результат объединяется с полной таблицей для извлечения оставшихся столбцов.
SELECT
mx.user_id,
mx.maxdate,
t.id
FROM (
SELECT
user_id,
MAX(date_recorded) AS maxdate
FROM tbl
GROUP BY user_id
) mx JOIN tbl t ON mx.user_id = t.user_id AND mx.date_recorded = t.date_recorded