У меня есть таблица вроде этого:
id | date | score
-----------------------
1 | 2017-12-01 | 10
1 | 2017-12-02 | 20
2 | 2017-12-01 | 30
2 | 2017-12-02 | 40
2 | 2017-12-03 | 50
3 | 2017-12-03 | 60
Я хочу получить последнюю оценку за идентификатор так:
id | date | score
-----------------------
1 | 2017-12-02 | 20
2 | 2017-12-03 | 50
3 | 2017-12-03 | 60
До сих пор у меня есть что-то вроде этого:
SELECT
id,
MAX(date)
FROM
mytable
GROUP BY
id
Но я не знаю, как получить оценку строки MAX (дата) на один идентификатор
select t1.*
from mytable t1
join
(
SELECT id, MAX(date) as mdate
FROM mytable
GROUP BY id
) t2 on t1.id = t2.id
and t1.date = t2.mdate