hive补空值,向上累计向下累计均可


背景:需要列出用户一天中24小时每个小时的累计消费,通过用户消费记录的结束时间与时间表关联后,只能累计计算出有过消费的小时如图:0点到1点累计消费10元,1点到2点无消费,2点到3点累计消费20。

现在对空字段进行补空值,使用lag只能对上一行进行补,无法补多个连续空值。

解决:开窗求出当前行到第一行中最大值进行部位

max(money_total) over(partition by user_id order by create_time rows between unbounded preceding and current row)

nvl(max(money_total) over(partition by user_id order by create_time rows between unbounded preceding and current row) , 0)


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM