繁体   English   中英

SQL按日期选择不同的行

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM