Oracle 语法之 OVER (PARTITION BY ..)

来源:互联网 发布:金钱永不眠软件 编辑:程序博客网 时间:2024/04/28 04:38
select * from test

数据:
A   B   C
1   1   1
1   2  2
1   3   3
2   2  5
3   4  6


---将B栏位值相同的对应的C 栏位值加总
select a,b,c, SUM(C)  OVER (PARTITION BY B) C_Sum
from test

A   B   C   C_SUM  
1 1 1 1
1 2 2 7
2 2 5 7
1 3 3 3
3 4 6 6



---如果不需要已某个栏位的值分割,那就要用 null

  eg:  就是将C的栏位值summary 放在每行后面

select a,b,c, SUM(C)  OVER (PARTITION BY null) C_Sum
from test

A   B   C   C_SUM  
1 1 1 17
1 2 2 17
1 3 3 17
2 2 5 17
3 4 6 17
原创粉丝点击