[英]SQL selecting distinct rows by date
我有一个名为CLOCK
表,其ID
为2列,是NUMBER,而CLOCK_IN
是日期。 ID
列具有重复编号,我想选择具有最新CLOCK_IN
ID。
像说表具有以下数据:
+--+---------+
|ID|CLOCK_IN |
+--+---------+
|02|1/14/2013|
+--+---------+
|04|1/14/2013|
+--+---------+
|02|1/20/2013|
+--+---------+
|03|2/13/2013|
+--+---------+
我想获取第2、3、4行,因为它们是该ID的最新clock_ins。
SELECT ID, MAX(CLOCKIN)
FROM CLOCK
GROUP BY ID
请注意,您的列ID
不能仅是PRIMARY KEY(在您的数据示例中),我想这两列构成了PRIMARY KEY。
group by和max应该为您工作。
SELECT ID, MAX(CLOCK_IN)
FROM CLOCK
GROUP BY ID
尝试这个
SELECT * FROM
(
SELECT
ROW_NUMBER() OVER (ORDER BY Clock_IN ASC) AS RN,ID,Clock_IN
From Clock
) AS Temp
WHERE RN = 1
希望这对您有帮助
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.