У меня есть эти таблицы,GROUP BY ПОСЛЕДНЯЯ ДАТА MYSQL
user
id
name
visit
id
id_user (fk user.id)
date
comment
Если я выполнить этот запрос,
SELECT u.id, u.name, e.id, e.date, e.comment
FROM user u
LEFT JOIN visit e ON e.id_user=u.id
я,
1 Jhon 1 2013-12-01 '1st Comment'
1 Jhon 2 2013-12-03 '2nd Comment'
1 Jhon 3 2013-12-01 '3rd Comment'
Если я GROUP BY u.id
, то я получаю
1 Jhon 1 2013-12-01 '1st Comment'
мне нужен последний визит Jhon
1 Jhon 3 2013-12-04 '3rd Comment'
Я стараюсь это
SELECT u.id, u.name, e.id, MAX(e.date), e.comment
FROM user u
LEFT JOIN visit e ON e.id_user=u.id
GROUP BY u.id
И это,
SELECT u.id, u.name, e.id, MAX(e.date), e.comment
FROM user u
LEFT JOIN visit e ON e.id_user=u.id
GROUP BY u.id
HAVING MAX(e.date)
И я получаю
1 Jhon 1 2013-12-04 '1st Comment'
Но это мне не подходит ... Мне нужен последний визит этого пользователя
1 Jhon 3 2013-12-01 '3rd Comment'
Спасибо!
Спасибо! Для посещений той же даты я добавил ORDER BY DESC t1.id DESC – Ricmcm