实际应用中我们可以通过sum()统计出组中的总计或者是累加值,具体示例如下: 1.创建演示表 createtableempasselect*fromscott.emp;altertableempaddconstraintemp_pkprimarykey(empno);createtabledeptasselect*fromscott.dept;altertabledeptaddconstraintdept_pkprimarykey(deptno); 2. sum()语句如下: selectdeptno,ename,sal, --按照部门薪水累加(orderby改变了分析函数的作用,只工作在当前行和前一行,而不是所有行)sum(sal)over(partitionbydeptnoorderbysal)CumDeptTot,sum(sal)over(partitionbydeptno)SalByDept,--统计一个部门的薪水sum(sal)over(orderbydeptno,sal)CumTot,--所有雇员的薪水一行一行的累加sum(sal)over()TotSal--统计总薪水fromemporderbydeptno,sal 3. 结果如下: 10MILLER1300.001300875013002902510CLARK2450.003750875037502902510KING5000.008750875087502902520SMITH800.008001087595502902520ADAMS1100.00190010875106502902520JONES2975.00487510875136252902520SCOTT3000.001087510875196252902520FORD3000.001087510875196252902530JAMES950.009509400205752902530WARD1250.0034509400230752902530MARTIN1250.0034509400230752902530TURNER1500.0049509400245752902530ALLEN1600.0065509400261752902530BLAKE2850.00940094002902529025