• AVG:平均
  • SUM:總和
  • COUNT:共有幾筆
  • MAX:最大值
  • MIN:最小值
  • STDEV:標準差
  • VAR:變異數

使用上可以加上group by來使用,可以分組

select avg(salary)平均,sum(salary)總和,count(*),max(salary)最大,min(salary)最小,STDEV(SALARY)標準差,var(salary)變異數,salary←這次錯

from EMPLOYEES

平均 總和 筆數 最大 最小 標準差 變異數
8775 175500 20 24000 2500 5659.633 32031447


--注意因為大家都是總和,輸出表也是總合,所以不可以有個別欄位在select中,例如salary

--avg計算時會自動忽略NULL值(20筆資料中有一筆是null,用19加總、19去除),若想要計算包含NULL的欄位,可以寫成AVG(ISNULL(欄位名,0)),也就是先把欄位中的NULL值換成0,之後再做平均

--count(*)計算資料表中總共有幾筆(直行往下數),但如果是count(salary)計算的就會是「欄位中非NULL值的資料有幾筆」,注意!

舉例來說,commission_pct的二十筆資料中只有四筆資料有給值,其他都是NULL,而四筆資料的值分別是:0.2、0.3、0.2、0.15

select count(commission_pct)筆數,avg(commission_pct)去掉NULL的平均,avg(ISNULL(commission_pct,0))NULL的平均

from EMPLOYEES

筆數 去掉NULL的平均 有NULL的平均
4 0.2125 0.0425

 



分組加總

select DEPARTMENT_ID,sum(salary)各部門薪資總支出,avg(salary)各部門薪資總平均--因為有分部門了,所以加總也會依部門加總

from EMPLOYEES--1.挑出想要的資料表

group by DEPARTMENT_ID--2.先用部門(ID)進行分類

DEPARTMENT_ID 各部門薪資總支出 各部門薪資總平均
NULL 7000 7000
10 4400 4400
20 19000 9500
50 17500 3500
60 19200 6400
80 30100 10033
90 58000 19333
110 20300 10150
     

 



多欄位分群:先依部門分群,同部門再依工作ID分群,計算總額(所以就是依照各工作ID分群)

select DEPARTMENT_ID,job_id,sum(salary)各部門薪資總支出,avg(salary)各部門薪資總平均--3.因為有分部門了跟ID,所以加總也會同ID加總

from EMPLOYEES--1.挑出想要的資料表

group by DEPARTMENT_ID,JOB_ID--2.先用部門(ID)進行分類

order by DEPARTMENT_ID desc,各部門薪資總支出 desc --4.最後進行排序,先一部門ID,同部門再依照薪資總額排序

DEPARTMENT_ID job_id 各部門薪資總支出 各部門薪資總平均
110 AC_MGR 12000 12000
110 AC_ACCOUNT 8300 8300
90 AD_VP 34000 17000
90 AD_PRES 24000 24000
80 SA_REP 19600 9800
80 SA_MAN 10500 10500
60 IT_PROG 19200 6400
50 ST_CLERK 11700 2925
50 ST_MAN 5800 5800
20 MK_MAN 13000 13000
20 MK_REP 6000 6000
10 AD_ASST 4400 4400
NULL SA_REP 7000 7000

 



select DEPARTMENT_ID,job_id,sum(salary)各部門薪資總支出,avg(salary)各部門薪資總平均--3.因為有分部門了跟ID,所以加總也會同ID加總

from EMPLOYEES--1.挑出想要的資料表

group by DEPARTMENT_ID,JOB_ID--2.先用部門(ID)進行分類

having avg(salary)>10000--4.用關鍵字having挑出'平均總支出中高於10000

order by DEPARTMENT_ID desc,各部門薪資總支出 desc --5.最後進行排序,先一部門ID,同部門再依照薪資總額排序

DEPARTMENT_ID job_id 各部門薪資總支出 各部門薪資總平均
110 AC_MGR 12000 12000
90 AD_VP 34000 17000
90 AD_PRES 24000 24000
80 SA_MAN 10500 10500
20 MK_MAN 13000 13000

 

 

arrow
arrow
    全站熱搜

    乙方 發表在 痞客邦 留言(0) 人氣()