簡體   English   中英

HIVE-QL中的LEAD函數語法

[英]LEAD function syntax in HIVE-QL

有什么方法可以將下面的LEAD函數轉換為HIVE QL格式?

NVL(LEAD(START_DT) OVER (PARTITION BY EV_ID,AR_EV_RLTNSHP_TYPE_CD ORDER BY START_DT)-1,'2099-12-31') AS DERIVED_END_DT

PFB錯誤:

失敗:子查詢源行1:1604的'('附近的'OVER'附近的'OVER'處ParseException行1:1599缺少)子查詢源行1:1604的'('附近的'('附近缺少FROM ''EV_ID'在子查詢源中

在HiveSQL中它很復雜,但是您可以通過left join和聚合來完成:

select t.ev_id, t.ar_ev_rltnshp_type_cd, t.start_date,
       coalesce(min(tnext.start_dt) - 1, '2099-12-31') as derived_end_dt
from table t left join
     table tnext
     on t.ev_id = tnext.ev_id and t.ar_ev_rltnshp_type_cd = tnext.ar_ev_rltnshp_type_cd and
        tnext.start_date > t.start_date
group by t.ev_id, t.ar_ev_rltnshp_type_cd, t.start_date;

這使有關start_date在給定組中唯一的某些假設,但可能會滿足您的目的。

暫無
暫無

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

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