as we know ,oracle從8.1.6開始提供分析函式,分析函式用於計算基於組的某種聚合值,它和聚合函式的不同之處是對於每個組返回多行,而聚合函式對於每個組只返回一行。快哭了。。。
來看看區別:
1.先建立示例表:
create
table
empas
select
*from
scott.emp;
alter
table
empaddconstraint
emp_pk
primary
key(empno);
表中資料:
empno
ename
job
mgr
hiredate
sal
comm
deptno
7369
smith
clerk
7902
1980-12-17
800.00
207499
allen
salesman
7698
1981-2-20
1600.00
300.00
307521
ward
salesman
7698
1981-2-22
1250.00
500.00
307566
jones
manager
7839
1981-4-2
2975.00
207654
martin
salesman
7698
1981-9-28
1250.00
1400.00
307698
blake
manager
7839
1981-5-1
2850.00
307782
clark
manager
7839
1981-6-9
2450.00
107788
scott
analyst
7566
1987-4-19
3000.00
207839
king
president
1981-11-17
5000.00
107844
turner
salesman
7698
1981-9-8
1500.00
0.00
307876
adams
clerk
7788
1987-5-23
1100.00
207900
james
clerk
7698
1981-12-3
950.00
307902
ford
analyst
7566
1981-12-3
3000.00
207934
miller
clerk
7782
1982-1-23
1300.00
10來看看每個部門的薪水和:
先來看看聚合函式: select t.empno,sum(t.sal) from emp t group by t.empno,t.sal
結果:empno
sum(t.sal)
7369
8007499
1600
7521
1250
7566
2975
7654
1250
7698
2850
7782
2450
7788
3000
7839
5000
7844
1500
7876
1100
7900
9507902
3000
7934
1300
oracle 分析函式OVER
分析函式用於計算基於組的某種聚合值,它和聚合函式的不同之處是 對於每個組返回多行,而聚合函式對於每個組只返回一行。over over order by.與over partition by.之間的區別 over order by.用在聚合函式 max sun 後面,可返回根據排序結果進行統計到當前行...
oracel 分析函式over 函式
表temp b的記錄 執行如下sql語句 剔除表temp a中city name相同的記錄 示例2 分組排序 成績表的所有記錄如下 執行如下sql語句 select student name,class,score,dense rank over partition by class order b...
Oracle學習 分析函式over
oracle的分析函式over create table test001 empno number 4 ename varchar2 50 sal number 8,4 insert into test001 values 3,james 1000 insert into test001 value...