如何根据日期记录

时间:2018-02-02 17:38:04

标签: mysql sql

在我的数据表中,我有一个名为special_id的列,其中包含的值不是唯一的。

例如:

+-----+-----+------------+-------------------------+
| ... | ... | special_id |        add_date         |
+-----+-----+------------+-------------------------+
| ... | ... |       1111 | 2018-02-02 09:42:11.993 |
| ... | ... |       2222 | 2018-02-01 09:42:11.993 |
| ... | ... |       1111 | 2018-01-31 09:42:11.993 |
| ... | ... |       3333 | 2018-01-02 09:42:11.993 |
| ... | ... |       4444 | 2018-01-22 09:42:11.993 |
+-----+-----+------------+-------------------------+

我想知道我是否可以(使用SQL)SELECT 最新记录,并根据special_id列匹配add_date

3 个答案:

答案 0 :(得分:1)

这是你的意思吗?

select t.*
from t
where t.add_date = (select max(t2.add_date) from t t2 where t2.special_id = t.special_id);

答案 1 :(得分:1)

如果只获得第一张唱片就是你感兴趣的话,LIMIT会为你做好准备。所以你可以试试

SELECT *
FROM t
ORDER BY add_date DESC
LIMIT 1;

答案 2 :(得分:0)

我认为这可以解决问题。

SELECT special_id, MAX(add_date)
FROM test_tbl
GROUP BY special_id;