sum(partition by order by)用法

0、select * from wmg_test;     ---测试数据

1、select v1,v2,sum(v2) over(order byv2) as sum     --按照 v2排序,累计n+n-1+....+1

from wmg_test;

2、select v1,v2,sum(v2) over(partition by v1order by v2) as sum     --先分组,组内在进行 1 中的操作

from wmg_test;

3、select v1,v2,sum(v2) over(partition by v1 order byv1) as sum   ---稳定排序

from wmg_test;

4、select v1,v2,sum(v2) over(partition by v1) as sum    --相同key的进行回填处理

from wmg_test;

5、selectdistinct v1,sum_01                                        --取一条

from (

select v1,sum(v2) over(partition by v1) as sum_01

from wmg_test

) a;

6、当然也可以逆序累加,只需order by desc 即可

总结区别:group by 和partition by的区别

group 单纯分组

partition 也能分组,但还具备累计的功能

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • pyspark.sql模块 模块上下文 Spark SQL和DataFrames的重要类: pyspark.sql...
    mpro阅读 13,145评论 0 13
  • 常用语句: sql/plus sqlplus 'amdocs/Amdocs.Jx.China.110#@ysdb1...
    好好学习的蜗牛阅读 8,379评论 0 0
  • 这一周主要学习了 Hive 的一些基础知识,学习了多个 Hive 窗口函数,虽然感觉这些窗口函数没有实际的应用...
    大石兄阅读 7,743评论 2 8
  • 50个常用的sql语句Student(S#,Sname,Sage,Ssex) 学生表Course(C#,Cname...
    哈哈海阅读 4,980评论 0 7
  • 今天是小朋友放寒假后的第一个工作日,早上我要去上班,小朋友很不高兴,说让爸爸去上班,妈妈陪我玩儿。看他很不愿...
    行者复行者阅读 721评论 0 1