美文网首页
窗口函数的其他类型

窗口函数的其他类型

作者: 神呐_宽恕我把 | 来源:发表于2018-12-28 12:54 被阅读0次

    ntile(z)over(partition by x order by y)

    对相同x按照y排序,把y平均分成z份

    cume_dist()over(partition by x order by y)

    对相同x统计y中最小的值占最大的值的百分比

    percent_rank()over(partition by x order by y)

    对相同x去掉y的第一个值后,对相同x统计y中最小的值占最大的值的百分比

    lag(y,n,'m ')over(partition by x order by y)

    n表示一个数字,m表示y字段类型的值

    对相同x按照y排序,把y前n个值改成m

    lead(y,n,'m ')over(partition by x order by y)

    n表示一个数字,m表示y字段类型的值

    对相同x按照y排序,把y后n个值改成m

    last_value(n)over(partition by x order by y)

    n表示字段

    取分组内排序后,截止到当前行,最后一个值

    first_value(n)over(partition by x order by y)

    n表示字段

    取分组内排序后,截止到当前行,第一个值

    select x,y,count(distinct m),grouping_id from group by x,y,grouping set(x,y)order by group_id;

    统计相同x或者y有多少个不同的m

    grouping_id表示这一组结果属于哪个分组集合,1表示x,2表示y

    group by x,y with cube

    对x,y聚合,4种结果  (x,y),(x,null),(null,y),(null,null)

    group by x,y with rollup

    对x,y聚合,4种结果  (x,y),(x,null),(null,null)

    相关文章

      网友评论

          本文标题:窗口函数的其他类型

          本文链接:https://www.haomeiwen.com/subject/pnwdlqtx.html