mysql或hive sql中的lag()有问题

relj7zay  于 2021-06-24  发布在  Hive
关注(0)|答案(0)|浏览(218)

我正在尝试使用下面的代码来获取“过期的\u天\u最后一次”,这是一个记录滞后的命令由'统计日期'。我不知道出了什么问题,但我把“过期天数”的所有值都记为“nan”。我想知道它是否是由'statis\u date'作为字符串引起的,所以我还尝试使用'order by cast(statis\u date as int)'。然而,所有“逾期天数”的记录仍然是“楠”。我检查了原始数据,大多数“过期天数”值应该是0。有人能帮我吗?谢谢您!

select substring(cast( date_add(from_unixtime(unix_timestamp(statis_date,'yyyyMMdd'),'yyyy-MM-dd'),1) as string ),1,7) as Overdue_month,
       date_add(from_unixtime(unix_timestamp(statis_date,'yyyyMMdd'),'yyyy-MM-dd'),1) as Overdue_date,
       trade_index, prod_code, certi_no, overdue_amount, 
       overdue_date as overdue_days, 
       lag(overdue_date) over (partition by trade_index, prod_code order by statis_date asc) as overdue_days_last
from FDM_SOR.T_SNUCS_T_BIZ_LOAN_D 
where overdue_date = 1
      and statis_date >= '20200331'

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题