[英]Select a distinct ID with the maximum date
I see some questions relating to mine, but they are not exactly the same. 我看到一些有关我的问题,但它们并不完全相同。
I need to make a SELECT in a DB2 database where I keep only distinct IDs with their data. 我需要在一个DB2数据库中进行SELECT,在该数据库中我只保留不同的ID及其数据。
Example, I have some datas : 例如,我有一些数据:
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
In my case, I want to keep : 就我而言,我想保留:
1111 1990-01-01 9999-12-31
2222 1998-02-02 2000-12-20
My SELECT statement: 我的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)
But I keep getting every records. 但是我一直在获取所有记录。
Thanks for the help ! 谢谢您的帮助 !
I asked a similar question previously, please refer to my post here: 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
Credit goes to the original answer in my post. 归功于我帖子中的原始答案。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.