如何过滤mysql重复的id行并检索具有最新时间戳的行?

时间:2010-09-07 20:56:25

标签: sql mysql greatest-n-per-group

我有一个mysql表,其中的条目如下:

id  name        value   date
1   results1    1000000 2010-06-02 01:31:12
2   results2    600000  2010-09-03 05:42:54
1   results1    1200000 2010-09-06 02:14:36

如何选择所有并过滤多个具有相同ID的行,只选择具有最新日期的行?

“date”列数据类型是时间戳,默认情况下为CURRENT_TIMESTAMP。

1 个答案:

答案 0 :(得分:1)

select m.*
from (
    select id, max(date) as MaxDate
    from MyTable
    group by id
) mm
inner join MyTable m on mm.id = m.id and mm.MaxDate = m.Date