MySQL получает последнее значение в таблице на идентификатор [дубликата]

0

У меня есть таблица вроде этого:

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 (дата) на один идентификатор

Теги:

1 ответ

0
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

Ещё вопросы

Сообщество Overcoder
Наверх
Меню