码迷,mamicode.com
首页 > 其他好文 > 详细

sum over用法,以及与group by的区别

时间:2014-07-04 07:09:15      阅读:503      评论:0      收藏:0      [点我收藏+]

标签:art   io   ar   rom   select   函数   

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

区别很明显。

sum over用法,以及与group by的区别,布布扣,bubuko.com

sum over用法,以及与group by的区别

标签:art   io   ar   rom   select   函数   

原文地址:http://blog.csdn.net/me_mr_wang/article/details/36668461

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!