Hive2

2019-01-04  本文已影响0人  李导

P11窗口函数需求(五):

    ```
    查询前20%时间的订单信息
    select *,sum(cost) over(distribute by month(orderdate)) 
    from business;
    ```
    NTITE(n):把有序分区中的行分发到数据的组中,各个组有编号,编号从1开始。
    对于每一行数据NTITE返回的是每一行所属组的编号,n指的是分组的个数。

where语句不能用于含有计算的查询,可以用子查询解决,子查询就是在外面再嵌套一个select * from( );


P12和P13 没有看

P14 Rank :

    ```
    select *,
    rank() over(partition by subject order by score),
    dense_rank() over(partition by subject order by score),
    row_number() over(partition by subject order by score)
    from score;

    rank():排序相同时会重复,总数不变,比如1134
    dense_rank():排序相同时会重复,但总减少,比如1123
    row_number():会根据顺序计算,即使重复也是1234
    ```

P15 函数介绍 :

    ```
    show functions: 查看系统自带的函数
    desc function 函数名:查看函数用法
    desc function extended 函数名:详细显示函数的用法
    ```

    自定义函数:
上一篇 下一篇

猜你喜欢

热点阅读