在我的数据表中,我有一个名为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
?
答案 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;