我有一个数据集:
Id. Code. Update time
222. A. 1/1/16
222 B. 1/1/17
123 c 1/1/16
123 d. 1/1/17
我希望数据集过滤到:
222 B. 1/1/17
123 d. 1/1/17
我该如何进行查询?
答案 0 :(得分:0)
首先编写一个子查询,查找每个ID的最新日期。然后将子查询连接回主表以获取其他列:
SELECT t.ID, t.code, t.updatetime
FROM table t
INNER JOIN
(SELECT ID, MAX(updatetime) AS mxtime
FROM table
GROUP BY ID) sub
ON t.ID = sub.ID
AND t.updatetime = sub.mxtime
答案 1 :(得分:0)
如上所述,这是一个简单的聚合查询:
select id, max(code) as code, max(updatetime) as updatetime
from t
group by id;
如果这不是你想要的,那么你需要更清楚你想要实现的逻辑。