簡體   English   中英

如何從表中獲取每個唯一 ID 的最新兩個日期

[英]How to get the latest two dates from table for each unique id

唯一身份 日期
一種 2023 年 1 月 1 日
一種 2023 年 3 月 1 日
一種 2023 年 5 月 1 日
2023 年 1 月 1 日
2/1/2023
2023 年 3 月 1 日
2023 年 4 月 1 日
C 2023 年 1 月 1 日

我希望我的數據看起來像這樣

唯一身份 最新日期 2nd_latest_date
一種 2023 年 5 月 1 日 2023 年 3 月 1 日
2023 年 4 月 1 日 2023 年 3 月 1 日
C 2023 年 1 月 1 日 Null

您可以嘗試使用條件聚合和 row_number function,如下所示:

select unique_id,
       max(case when rn=1 then date end) as latest_date,
       max(case when rn=2 then date end) as _2nd_latest_date
from
(
  select *,
    row_number() over (partition by unique_id order by date desc) as rn
  from table_name
) T
group by unique_id
order by unique_id

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM