數(shù)據(jù)庫基礎(chǔ)05聚合函數(shù)

聚合函數(shù)

  • COUNT函數(shù)---統(tǒng)計(jì)個(gè)數(shù)

SELECT COUNT(*) AS N'員工數(shù)量' FROM EMP;
  • MAX函數(shù)---求最大值

SELECT MAN(SALARY) FROM EMP;
  • MIN函數(shù)---求最小值

SELECT MIN(SALARY) FROM EMP;
  • SUM函數(shù)---求和

SELECT SUM(SALARY) FROM EMP;
  • AVG函數(shù)---求平均值

SELECT AVG(SALARY) FROM EMP;
  • 什么是聚合函數(shù)

查詢時(shí)需要做一些數(shù)據(jù)統(tǒng)計(jì),比如:查詢職員表中各部門職員的平均薪水,各部門的員工人數(shù)。當(dāng)需要統(tǒng)計(jì)的數(shù)據(jù)并不能在職員表里只管列出,而是需要根據(jù)現(xiàn)有的數(shù)據(jù)計(jì)算得到結(jié)果,這種功能可以使用聚合函數(shù)來實(shí)現(xiàn),即:將表的全部書庫劃分為幾組數(shù)據(jù),每組數(shù)據(jù)統(tǒng)計(jì)出一個(gè)結(jié)果。
因?yàn)槭嵌嘈袛?shù)據(jù)參與運(yùn)算返回一行結(jié)果,也稱作分組函數(shù)、多行函數(shù)、集合函數(shù)。用到的關(guān)鍵字:
GROUP BY 按什么分組
HAVING 進(jìn)一步限制分組結(jié)果

  • MAN和MIN

用來取得列或者表達(dá)式的最大、最小值??梢杂脕斫y(tǒng)計(jì)任何數(shù)據(jù)類型,包括數(shù)字、字符和日期。

示例:獲取機(jī)構(gòu)下的最高薪水和最低薪水,參數(shù)是數(shù)字
SELECT MAN(SAL)MAN_SAL,MIN(SAL)MIN_SAL FROM EMP;
計(jì)算最早和最晚的入職時(shí)間,參數(shù)是日期
SELECT MAN(DIREDATE)MAN_HIRE,MIN(HIREDATE)MIN_HIRE FROM EMP;
  • AVG和SUM

AVG和SUM函數(shù)用來統(tǒng)計(jì)列或表達(dá)式的平均值和和值,這兩個(gè)函數(shù)只能操作數(shù)字類型,并忽略NULL值。

SELECT AVG(SAL)AVG_SAL,SUM(SAL)SUM_SAL FROM EMP;
  • COUNT

COUNT函數(shù)用來計(jì)算表中的記錄條數(shù),他同樣忽略NULL值。

示例:獲取職員表中一共有多少名職員記錄
SELECT COUNT(*)TOTAL_NUM FROM EMP;
獲得職員表中有多少人是有職位的(忽略沒有職位的員工記錄)
SELECT COUNT(JOB)TOTAL_JOB FROM EMP;
  • 聚合函數(shù)對(duì)控制的處理

聚合函數(shù)忽略NULL值。即當(dāng)EMP表中的某列有NULL值。

示例:某新入職員工沒有薪水,比較兩條語句的結(jié)果
SELECT AVG(SAL) AVG_SAL FROM EMP;
SELECT AVG(ISNULL(SAL,0.0)) AVG_SAL FROM EMP;
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

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

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