我看到一些与我有关的问题,但它们并不完全相同。
我需要在DB2数据库中创建一个SELECT,在那里我只保留不同的ID及其数据。
示例,我有一些数据:
ID DATE_BEGIN DATE_END
1111 2014-01-01 2016-01-02
1111 2018-01-05 2018-01-03
1111 1990-01-01 9999-12-31
2222 1998-02-02 2000-12-20
就我而言,我想保留:
1111 1990-01-01 9999-12-31
2222 1998-02-02 2000-12-20
我的SELECT语句:
SELECT
ID, DATE_BEGIN, DATE_END
FROM TABLE_NAME T1
WHERE DATE_END = (SELECT
MAX(DATE_END)
FROM TABLE_NAME T2
WHERE T2.DATE_END = T1.DATE_END)
但我不断获得所有记录。
感谢您的帮助!
答案 0 :(得分:0)
之前我问了一个类似的问题,请参阅我的帖子:Get the latest date for each record
SELECT ID, DATE_BEGIN, DATE_END
FROM (
SELECT ID, DATE_BEGIN, DATE_END
,ROW_NUMBER() OVER (PARTITION BY [ID] ORDER BY [DATE_END] DESC) RN
FROM TABLE_NAME
)A
WHERE A.RN = 1
在我的帖子中归功于原始答案。