首页 > 代码库 > sum over用法,以及与group by的区别
sum over用法,以及与group by的区别
1、sum over用法
sum(col1) over(partition by col2 order by col3 )
以上的函数可以理解为:按col2 进行分组(partition ),每组以col3 进行排序(order),并进行连续加总(sum)
表a,内容如下:
B C D
02 02 1
02 03 2
02 04 3
02 05 4
02 01 5
02 06 6
02 07 7
02 03 5
02 02 12
02 01 2
02 01 23
执行:SELECT b, c, d, SUM(d) OVER(PARTITION BY b,c ORDER BY d) e FROM a
得到结果:
B C E
02 01 2
02 01 7
02 01 30
02 02 1
02 02 13
02 03 2
02 03 7
02 04 3
02 05 4
02 06 6
02 07 7
可以看到,E列的值是累加和。
2、与group by 的区别
同样的a表:select b,c,sum(d) e from a group by b,c
B C E
02 01 30
02 02 13
02 03 7
02 04 3
02 05 4
02 06 6
02 07 7
区别很明显。
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。