Hive

P8窗口函数需求(二):

    ```
    查询顾客购买明细及购买总额
    select *,sum(cost) over(distribute by month(orderdate)) 
    from business;
    ```
    month()函数:取一个日期中的月份

P9窗口函数需求(三):

    ```
    要将cost按日期进行累加
    select *,sum(cost) over(sort by orderdate rows between 
    UNBOUNDED PRECEDING and CURRENT ROW) from business;
    ```
    UNBOUNDED PRECEDING:向前没有限制
    CURRENT ROW:当前行

order by: 对输入做全局排序,所以只有一个reducer
sort by: 不是全局排序,其在数据进入reducer前完成排序,只保证每个reducer的输出有序,不保证全局有序
distribute by: 控制在map端如何拆分数据给reduce端


n PRECEDING:往前n行数据
n FOLLOWING:往后n行数据
LAG(col,n):往前第n行数据
LEAD(col,n):往后第n行数据


P10窗口函数需求(四):

```  
查询顾客上一次的购买时间:
select *,lag(orderdate,1) over(distribute by name 
order by orderdate) from business;
```

P11窗口函数需求(五):

你可能感兴趣的:(Hive)