簡體   English   中英

根據另一列中的唯一日期選擇一列中的最大日期

[英]Select max date in one column based on unique dates in another

我有一個數據集,每次更改該特定日期的預測時,都會將其加載到數據庫中。 我需要能夠為每個fore_dt選擇最后一個load_dt。 下面是一個示例數據集:

load_dt, fore_dt, data,
1/1/2017, 1/14/2017, 5,
1/5/2017, 1/14/2017, 8,
1/5/2017, 1/15/2017, 9,
1/15/2017, 1/15/2017, 10,
1/17/2017, 1/16/2017, 5

結果應如下所示:

load_dt, fore_dt, data,
1/5/2017, 1/14/2017, 8,
1/15/2017, 1/15/2017, 10,
1/17/2017, 1/16/2017, 5

實際的數據集要復雜得多,並且有很多行。 在查詢中,我需要能夠選擇日期和日期之間的fore_dt。

您可以使用窗口函數row_number來按降序load_dt的順序為每個fore_dt中的行分配序列號,然后使用簡單的where子句選擇第一行:

select *
from (
    select t.*,
        row_number() over (
            partition by fore_dt order by load_dt desc nulls last
            ) as seqnum
    from your_table t
    ) t
where seqnum = 1;

您在看max()

select max(load_dt) as load_dt, fore_dt, max(data) 
    from yourtable
   group by fore_dt

暫無
暫無

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

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