[英]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.