【发布时间】:2021-05-23 20:06:05
【问题描述】:
请给我下表,我需要根据 DATE 列过滤数据, 在 Sus_ID 级别中,如果 DATE 列有 NULL 获取此行,或者如果没有 NULL 记录将获取最新 DATE 的行
|Sub_ID |Cust_ID |C_Date |
|-------+-----------+----------|
|123456 |2233 |2021-02-21|
|123456 |2211 |2021-01-21|
|123456 |3432 |NULL |
|987654 |1122 |2021-02-21|
|987654 |3322 |2021-01-21|
想要的结果应该是下面
|Sub_ID |Cust_ID |C_Date |
|-------+-----------+----------|
|123456 |3432 |NULL |
|987654 |1122 |2021-02-21|
我尝试了下面的代码,但没有成功
Subs_ID,
CASE
WHEN C_Date IS NULL THEN Cust_ID
ELSE (FIRST_VALUE(Cust_ID) OVER (PARTITION BY Subs_ID ORDER BY C_Date DESC )) END AS Cust_ID_N
FROM
tbl
【问题讨论】:
标签: sql filter greatest-n-per-group netezza