小白入門SQL分組查詢(三)

SQL中的分組函數(shù)與分組查詢

語法

select [distinct] * | 列名1,列名2..., 列名n , 組函數(shù)(...)
from 表名1,表名2...
[where 條件][group by 列名1,列名2... ] 
[having 條件][order by 排序列名1 ASC | DESC , 排序列名2 ASC | DESC...]

分組函數(shù)

  • count(): 統(tǒng)計的是非null的個數(shù)
  • sum() :記錄的總和
  • avg():平均值
  • max():最大值
  • min():最小值

1. 查詢出所有員工的個數(shù)

select count(empno)
from emp

select count(comm)
from emp

2. 查詢出所有員工的總薪資

select sum(salary)
from emp

3. 查詢出所有員工的平均薪資

select avg(salary)
from emp

4. 查詢出所有員工的最大薪資

select max(salary)
from emp

5. 查詢出所有員工的最小薪資

select min(salary)
from emp

6. 統(tǒng)計各職位的員工個數(shù)

select job 職位, count(empno) 人數(shù)
from emp
group by job  -- 按照job 分組

7. 統(tǒng)計各部門的員工個數(shù),根據(jù)部門編號升序排序

select deptno ,count(empno)
from emp
group by deptno
order by deptno

8. 統(tǒng)計各部門各職位的員工人數(shù),根據(jù)部門編號升序排序,部門編號相同,則按照職位的字母先后順序排序

        部門編號    職位      人數(shù)
        10        clerk       9
        10        manager       3
        10        others        2

        20        clerk         5
        20        manager       6
        20        others        1

    select deptno 部門編號, job 職位,count(empno) 人數(shù)
    from emp
    group by deptno,job
    order by deptno,job 

9. 統(tǒng)計10部門的各職位的員工人數(shù)(顯示部門編號,職位名稱,員工人數(shù))

    部門編號    職位      人數(shù)
    10        員工         9
    10        經(jīng)理        3
    10        主管        2
    
    select  deptno 部門編號, job 職位,count(empno) 人數(shù)
    from emp
    where deptno=10
    group by job

10. 查詢10部門的各職位的員工人數(shù)大于2的職位信息(顯示部門編號,職位名稱,員工人數(shù))

部門編號    職位  人數(shù)
10        員工    9
10        經(jīng)理    3
[10       主管    2 ---過濾出去]
select  deptno 部門編號, job 職位,count(empno)    人數(shù)
from emp
where deptno=10
group by job
having count(empno) >2

group by 分組使用注意事項:

  • (1)select 單列, 組函數(shù) from ... 【錯誤】,一定要與group by 使用

where 與 having 的區(qū)別:

  • (1)where 是分組之前的要過濾的條件,where后面不能與組函數(shù)一起使用 【where 與分組無關(guān)】
  • (2)having 是分組之后的結(jié)果之上再做的過濾,having可以與組函數(shù)一起使用【having 與分組一起使用】
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容