以后看见这种既要明细信息,也要聚合信息的题目,直接开窗!
案例:
数据order.txt
指标一:需求:查询每个订单的信息,以及订单的总数
指标二:查询在2018年1月份购买过的顾客购买明细及总次数。
指标三:查询在2018年1月份购买过的顾客购买明细及总人数。
在over窗口中进行分组,对某一字段进行分组统计,窗口大小就是同一个组的所有记录。
指标四:查看顾客的购买明细及月购买总额
指标5:需求:查看顾客的购买明细及每个顾客的月购买总额
sort by子句会让输入的数据强制排序 (强调:当使用排序时,窗口会在组内逐行变大)
语法:
需求6:查看顾客的购买明细及每个顾客的月购买总额,并且按照日期降序排序
注意:可以使用partition by + order by 组合来代替distribute by+sort by组合
注意:也可以在窗口函数中,只写排序,窗口大小是全表记录
如果要对窗口的结果做更细粒度的划分,那么就使用window子句,常见的有下面几个
PRECEDING:往前
FOLLOWING:往后
CURRENT ROW:当前行
UNBOUNDED:起点,
UNBOUNDED PRECEDING:表示从前面的起点,
UNBOUNDED FOLLOWING:表示到后面的终点
运行结果:
需求7:查看顾客到目前为止的购买总额
需求8:求每个顾客最近三次的消费总额
到此这篇pivot函数 hive(pivot函数中哪个不能省略)的文章就介绍到这了,更多相关内容请继续浏览下面的相关 推荐文章,希望大家都能在编程的领域有一番成就!版权声明:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权、违法违规、事实不符,请将相关资料发送至xkadmin@xkablog.com进行投诉反馈,一经查实,立即处理!
转载请注明出处,原文链接:https://www.xkablog.com/haskellbc/39859.html