0

如果存在具有相同 TimeStamp_2 的行,我需要具有最新 TimeStamp_1 的行

ID           TimeStamp_1        TimeStamp_2
------------------------------------------------
0000003259   2013-05-23 09:53   2013-05-23 09:55
0000003259   2013-05-23 09:52   2013-05-23 09:55
0000003257   2013-05-23 07:52   2013-05-23 07:53

我怎么做?(上表本身是一个 JOIN,因此有几行具有相同的 ID)

在上面的例子中,结果集应该包含这个

ID           TimeStamp_1        TimeStamp_2
------------------------------------------------
0000003259   2013-05-23 09:53   2013-05-23 09:55
0000003257   2013-05-23 07:52   2013-05-23 07:53
4

2 回答 2

2

从您提供的数据来看,最简单的方法似乎是聚合:

select id, min(TimeStamp_1) as TimeStamp_1, TimeStamp_2
from t
group by id, TimeStamp_2;
于 2013-05-23T10:55:03.913 回答
1

请试试:

SELECT * FROM(
    SELECT 
     ID,
     TimeStamp_1,
     TimeStamp_2,
     ROW_NUMBER() OVER(PARTITION BY ID, TimeStamp_2 ORDER BY TimeStamp_1 DESC) AS RNum
    FROM TableName
)x
WHERE RNum=1
于 2013-05-23T10:43:57.453 回答