溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶(hù)服務(wù)條款》

Mysql聚合函數(shù)如何使用

發(fā)布時(shí)間:2022-10-17 09:40:20 來(lái)源:億速云 閱讀:96 作者:iii 欄目:開(kāi)發(fā)技術(shù)

這篇文章主要介紹了Mysql聚合函數(shù)如何使用的相關(guān)知識(shí),內(nèi)容詳細(xì)易懂,操作簡(jiǎn)單快捷,具有一定借鑒價(jià)值,相信大家閱讀完這篇Mysql聚合函數(shù)如何使用文章都會(huì)有所收獲,下面我們一起來(lái)看看吧。

    前言

    聚合函數(shù)用來(lái)對(duì)表中的數(shù)據(jù)進(jìn)行統(tǒng)計(jì)和計(jì)算。users表結(jié)構(gòu)如下:

    Mysql聚合函數(shù)如何使用

    什么是聚合函數(shù)

    聚合函數(shù)是用來(lái)做簡(jiǎn)單的數(shù)據(jù)統(tǒng)計(jì)的,比如說(shuō)統(tǒng)計(jì)一下 “員工表” 中的平均工齡是多少年啊,員工表中一共有多少條記錄等等… 這些都需要使用到聚合函數(shù)。

    聚合函數(shù)也被稱(chēng)為 “匯總函數(shù)” ,在數(shù)據(jù)的查詢(xún)分析中,應(yīng)用的十分廣泛??梢詭椭覀儗?shí)現(xiàn)對(duì)數(shù)據(jù)的求和、求最大值、求最小值、求平均值等等。

    如果不指定統(tǒng)計(jì)的范圍,那么聚合函數(shù)統(tǒng)計(jì)的范圍就是整張數(shù)據(jù)表,該章節(jié)我們所講解的 “聚合函數(shù)” 就是針對(duì)整張數(shù)據(jù)表范圍的。

    聚合函數(shù)演示案例:(求員工表中的平均月收入是多少?)

    SELECT AVG(sal + IFNULL(comm,0)) AS 平均工資
    from t_emp;
    -- AVG:聚合函數(shù),求平均值使用
    -- IFNULL:IFNULL 函數(shù)的語(yǔ)法,當(dāng)?shù)谝粋€(gè)參數(shù)的值為null 的時(shí)候,則返回第二個(gè)參數(shù)的值

    Mysql聚合函數(shù)如何使用

    PS:需要注意的地方,在聚合函數(shù)的返回結(jié)果集(無(wú)論是求和、最大值、最小值、還是求平均數(shù)),結(jié)果集只有一個(gè)返回?cái)?shù)據(jù)。

    SUM 函數(shù)

    SUN 函數(shù)用于求和,只能用于數(shù)字類(lèi)型;如果用于字符類(lèi)型的數(shù)據(jù),則統(tǒng)計(jì)結(jié)果為0;如果用于時(shí)間類(lèi)型的數(shù)據(jù)的求和,則結(jié)果是毫秒數(shù)的相加。

    SQL 語(yǔ)句演示 SUM函數(shù) 案例(統(tǒng)計(jì) 10、20 部門(mén)的員工的月薪的總和)

    SELECT SUM(sal)
    FROM t_emp
    WHERE deptno IN (10, 20)

    Mysql聚合函數(shù)如何使用

    SQL 語(yǔ)句演示 SUM函數(shù) 案例(統(tǒng)計(jì) ename(字段) 的綜合 )

    SELECT SUM(ename)
    FROM t_emp
    WHERE deptno IN (10, 20)

    Mysql聚合函數(shù)如何使用

    count

    使用count統(tǒng)計(jì)某個(gè)字段的總行數(shù),要注意區(qū)分包含null和不包含null

    //不包含null
    select count(user_id)  from users;  //8
    //包含null
    select count(*) from users; //10

    max與min

    max和main函數(shù)用來(lái)求某一列的最大值/最小值

    //求男生的最大年齡
    select max(age) from user where gender = '男'; //6

    sum

    使用sum對(duì)某一列進(jìn)行求和

    //對(duì)age大于30的列進(jìn)行求和
    select sum(age) from users where age>30; 
    //求平均年齡
    select sum(age)  / count(*) from usersl;

    avg

    avg函數(shù)用來(lái)計(jì)算列的平均值

    //求男生的平均年齡,結(jié)果不準(zhǔn)null列沒(méi)有計(jì)算在內(nèi)
    select avg(age) from users where gender = '男';
    //將age為null的也計(jì)算在內(nèi)
    select avg(ifnull(age,0)) from users where gender = '男';

    關(guān)于“Mysql聚合函數(shù)如何使用”這篇文章的內(nèi)容就介紹到這里,感謝各位的閱讀!相信大家對(duì)“Mysql聚合函數(shù)如何使用”知識(shí)都有一定的了解,大家如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道。

    向AI問(wèn)一下細(xì)節(jié)

    免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

    AI