<p id="VqUJy">以后看见这种既要明细信息,也要聚合信息的题目,直接开窗!</p>
讯享网
案例:
数据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:求每个顾客最近三次的消费总额
讯享网

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/145436.html