Oracle資料庫之多行函式
阿新 • • 發佈:2019-02-05
Oracle資料庫總結:
SUM(SAL)
----------
29025
SQL> –人數
SQL> select count(*) from emp;
COUNT(*)
----------
14
SQL> –平均工資
SQL> select sum(sal)/count(*) 一,avg(sal) 二 from emp;
一 二
- --------- ----------
2073.21429 2073.21429
SQL> –平均獎金
SQL> select sum(comm)/count(*) 一,sum(comm)/count(comm) 二,avg(comm) 三
2 from emp;
一 二 三
---------- ---------- ----------
157.142857 550 550
SQL> –求部門的平均工資
SQL> select deptno,avg(sal)
2 from emp
3 group by deptno;
DEPTNO AVG(SAL)
---------- ----------
30 1566.66667
20 2175
10 2916.66667
SQL> –多個列的分組
SQL> select deptno,job,sum(sal)
2 from emp
3 group by deptno,job
4 order by 1;
DEPTNO JOB SUM(SAL)
---------- --------- ----------
10 CLERK 1300
10 MANAGER 2450
10 PRESIDENT 5000
20 ANALYST 6000
20 CLERK 1900
20 MANAGER 2975
30 CLERK 950
30 MANAGER 2850
30 SALESMAN 5600
SQL> –求平均工資大於2000的部門
SQL> select deptno,avg(sal)
2 from emp
3 group by deptno
4 having avg(sal) > 2000;
DEPTNO AVG(SAL)
---------- ----------
20 2175
10 2916.66667
SQL> –where和having最大的區別:where後面不能使用組函式
SQL> –查詢10號部門的平均工資
SQL> select deptno,avg(sal)
2 from emp
3 group by deptno
4 having deptno=10;
DEPTNO AVG(SAL)
---------- ----------
10 2916.66667