当前位置:数据库 > Oracle >>

oracle over partition by

oracle over partition by
 
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
 
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,