Hive 开窗函数
group by 是分组函数,一组出来一个数据
over() 开窗,针对每一条数据,都有一个独立的组
mk 3
jk 3
mk 3
select orderdate,cost,sum(cost) over(order by orderdate)
over里面的函数 是对窗口大小的限制
注意:针对每一条数据,开一个独立的窗口
10 10 (通过order by 没有比它小的所以返回) 10
15 这里有比15小的,所以窗口大小+1 25
需求:查询顾客的购买明细,及购买总额,并将cost按照日期进行累加
select name,orderdate,cost,sum(cost) over(order by orderdate)
from business;
需求:查询每个顾客的购买明细,及购买总额按照时间顺序进行累加
select name,orderdate,cost,sum(cost) over(partition by name sort by orderdate)
from business;
写sql顺序:
执行顺序:
优化:
面试会问
排序四个by的区别