最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

深入了解MySQL中聚合函數(shù)的使用

 更新時(shí)間:2022年07月27日 09:12:41   作者:不渴望力量的哈士奇  
這篇文章主要為大家詳細(xì)介紹一下MySQL中聚合函數(shù)的使用,文中的示例代碼講解詳細(xì),對(duì)我們學(xué)習(xí)MySQL有一定幫助,需要的可以參考一下

今天的章節(jié)我們將要來學(xué)習(xí)一下 “聚合函數(shù)” ;首先我們需要學(xué)習(xí)聚合函數(shù)對(duì)數(shù)據(jù)進(jìn)行統(tǒng)計(jì)分析,比如說求最大值、最小值、平均值之類的場(chǎng)景。但是單純的使用聚合函數(shù),只能做全表范圍的統(tǒng)計(jì)分析。如果想要把記錄分組分別統(tǒng)計(jì),需要使用 “GROUP BY” 和 “HAVING” 這樣的分組子句了。關(guān)于分組查詢的應(yīng)用,將在下一章節(jié)為大家進(jìn)行講解。當(dāng)前章節(jié)我們還是學(xué)習(xí)一下 “聚合函數(shù)” 的基本使用。

什么是聚合函數(shù)

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

聚合函數(shù)也被稱為 “匯總函數(shù)” ,在數(shù)據(jù)的查詢分析中,應(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ù)的語法,當(dāng)?shù)谝粋€(gè)參數(shù)的值為null 的時(shí)候,則返回第二個(gè)參數(shù)的值

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

SUM 函數(shù)

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

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

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

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

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

MAX 函數(shù)

MAX 函數(shù)用于獲取非空值的最大值。

SELECT MAX(comm) FROM t_emp;

-- 比如這種想要獲取 "comm" 字段的非空的最大值,直接套一個(gè) MAX() 函數(shù)即可。

SQL 語句演示 MAX函數(shù) 案例(查詢 10、20 部門的月收入最高的員工)

SELECT MAX(sal + IFNULL(comm,0)) AS max_sal
FROM t_emp
WHERE deptno IN (10, 20)

-- MAX:聚合函數(shù),求最大值使用
-- IFNULL:IFNULL 函數(shù)的語法,當(dāng)?shù)谝粋€(gè)參數(shù)的值為null 的時(shí)候,則返回第二個(gè)參數(shù)的值

SQL 語句演示 MAX函數(shù) 案例(查詢 員工姓名 最長(zhǎng)的名字的長(zhǎng)度)

SELECT MAX(LENGTH(ename)) AS length_ename
FROM t_emp;

-- LENGTH:LENGTH函數(shù)可以統(tǒng)計(jì)字符的個(gè)數(shù)計(jì)算其長(zhǎng)度

MIN 函數(shù)

與MAX 函數(shù)對(duì)應(yīng)的是 MIN 函數(shù),用于獲得非空值的最小值。

SQL語句演示 MIN函數(shù) 案例(查詢 員工編號(hào)最小 的員工)

SELECT MIN(empno) AS min_empno
FROM t_emp;

SQL語句演示 MIN函數(shù) 案例(查詢 最早入職 的員工)

SELECT MIN(hiredate) AS min_hiredate
FROM t_emp;

AVG 函數(shù)

在上文我們已經(jīng)演示過了 AVG 函數(shù)的使用方法,AVG 函數(shù)是用于獲得非空值的平均值;如果用于非數(shù)字?jǐn)?shù)據(jù)的統(tǒng)計(jì),輸出結(jié)果為 0 。
聚合函數(shù)演示案例:(求員工表中的平均月收入是多少?)

SELECT AVG(sal + IFNULL(comm,0)) AS 平均工資
from t_emp;

-- AVG:聚合函數(shù),求平均值使用
-- IFNULL:IFNULL 函數(shù)的語法,當(dāng)?shù)谝粋€(gè)參數(shù)的值為null 的時(shí)候,則返回第二個(gè)參數(shù)的值

COUNT 函數(shù)

COUNT 函數(shù)用于獲得記錄的數(shù)量,COUNT 函數(shù)有兩種用法。

第一種:在 COUNT() 函數(shù)的 括號(hào)內(nèi),輸入一個(gè) “*” 即可,記錄下包含空值的查詢記錄的數(shù)量。示例:COUNT(*)

第二種:在 COUNT() 函數(shù)的 括號(hào)內(nèi),輸入要統(tǒng)計(jì)的列名即可,記錄下包含非空值的查詢的記錄的數(shù)量。示例:COUNT(列名)

SQL語句演示 COUNT(*) 案例

SELECT COUNT(*) FROM t_emp;

SQL語句演示 COUNT(列名) 案例

SELECT COUNT(comm) FROM t_emp;

聚合函數(shù)綜合小練習(xí)

聚合函數(shù)綜合練習(xí) -1

SQL 案例1 - 語句演示:(查詢 10、20部門中,底薪超過 2000 并且工齡超過 15年 的員工人數(shù))

SELECT COUNT(*) 
FROM t_emp
WHERE deptno IN (10, 20)
AND sal >= 2000
AND DATEDIFF(NOW(),hiredate)/365 >= 15;

聚合函數(shù)綜合練習(xí) -2

SQL 案例2 - 語句演示:(查詢 1985年之后入職的員工,并且底薪超過公司平均底薪的員工的數(shù)量)

SELECT COUNT(*) 
FROM t_emp
WHERE hiredate >= "1985-01-01"
AND sal >= AVG(sal)

PS:表面上看這個(gè) SQL 是正常的,但是這個(gè) SQL 語是無法得出想要的結(jié)果的,因?yàn)檎Z法上有錯(cuò)誤。WHERE 子句中出現(xiàn)了聚合函數(shù),這一點(diǎn)大家一定要注意,聚合函數(shù) 一定不能出現(xiàn)在 WHERE 子句中。

PS:WHERE 子句中不能出現(xiàn) 聚合函數(shù) 的根本原因還要從 子句的執(zhí)行順序來說起。sql語句的執(zhí)行過程是:from-->where-->group by -->having --- >order by --> select;

PS:聚合函數(shù)是針對(duì)結(jié)果集進(jìn)行的,但是where條件并不是在查詢出結(jié)果集之后運(yùn)行,所以主函數(shù)放在where語句中,會(huì)出現(xiàn)錯(cuò)誤。

PS:關(guān)于如何解決這個(gè)問題,將在下一章節(jié)的 "分組查詢的應(yīng)用" 進(jìn)行詳細(xì)的講解。

以上就是深入了解MySQL中聚合函數(shù)的使用的詳細(xì)內(nèi)容,更多關(guān)于MySQL聚合函數(shù)的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • MySQL 5.7 學(xué)習(xí)心得之安全相關(guān)特性

    MySQL 5.7 學(xué)習(xí)心得之安全相關(guān)特性

    這篇文章主要介紹了MySQL 5.7 學(xué)習(xí)心得之安全相關(guān)特性 的相關(guān)資料,需要的朋友可以參考下
    2016-07-07
  • Mysql WorkBench安裝配置圖文教程

    Mysql WorkBench安裝配置圖文教程

    這篇文章主要為大家詳細(xì)介紹了Mysql WorkBench安裝配置圖文教程,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-06-06
  • MySQL圖形化管理工具的使用及說明

    MySQL圖形化管理工具的使用及說明

    這篇文章主要介紹了MySQL圖形化管理工具的使用及說明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-02-02
  • 修改MySQL密碼的四種方法總結(jié)(適合初學(xué)者!)

    修改MySQL密碼的四種方法總結(jié)(適合初學(xué)者!)

    在日常使用數(shù)據(jù)庫的過程中,難免會(huì)遇到需要修改賬號(hào)密碼的情景,比如密碼太簡(jiǎn)單需要修改、密碼過期需要修改、忘記密碼需要修改等,下面這篇文章主要給大家介紹了關(guān)于修改MySQL密碼的四種方法,介紹的方法非常適合初學(xué)者,需要的朋友可以參考下
    2022-08-08
  • SQL-?join多表關(guān)聯(lián)問題

    SQL-?join多表關(guān)聯(lián)問題

    這篇文章主要介紹了SQL-?join多表關(guān)聯(lián)問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。
    2022-12-12
  • MySQL主從復(fù)制的原理圖解及Java語言示例使用

    MySQL主從復(fù)制的原理圖解及Java語言示例使用

    這篇文章主要介紹了MySQL的主從復(fù)制原理詳細(xì)分析,讀寫分離是基于主從復(fù)制來實(shí)現(xiàn)的。文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下
    2022-08-08
  • Mac系統(tǒng)下MySql下載MySQL5.7及詳細(xì)安裝圖解

    Mac系統(tǒng)下MySql下載MySQL5.7及詳細(xì)安裝圖解

    這篇文章主要介紹了Mac系統(tǒng)下MySql下載MySQL5.7及詳細(xì)安裝圖解,本文圖文并茂給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2017-11-11
  • Mysql實(shí)時(shí)備份實(shí)現(xiàn)方法

    Mysql實(shí)時(shí)備份實(shí)現(xiàn)方法

    這篇文章主要介紹了Mysql實(shí)現(xiàn)實(shí)時(shí)備份,需要的朋友可以參考下
    2016-02-02
  • MySQL數(shù)據(jù)庫自連接實(shí)例講解

    MySQL數(shù)據(jù)庫自連接實(shí)例講解

    針對(duì)相同的表進(jìn)行的連接被稱為"自連接"(self?join),下面這篇文章主要給大家介紹了關(guān)于MySQL數(shù)據(jù)庫自連接實(shí)例講解的相關(guān)資料,文中通過圖文以及實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-06-06
  • mysql清除log-bin日志的方法

    mysql清除log-bin日志的方法

    這篇文章主要介紹了mysql清除log-bin日志的方法,同時(shí)介紹了log-bin日志的作用,需要的朋友可以參考下
    2014-06-06

最新評(píng)論

胶南市| 卓资县| 丹江口市| 远安县| 象山县| 历史| 高尔夫| 蓬溪县| 丹寨县| 衡阳市| 道真| 区。| 顺平县| 酒泉市| 固镇县| 屯门区| 额尔古纳市| 中江县| 汽车| 霍州市| 辽中县| 芜湖市| 庆安县| 苏州市| 滨海县| 滦平县| 海原县| 弥勒县| 龙陵县| 佛山市| 邢台县| 云南省| 七台河市| 赤城县| 灵川县| 柘荣县| 禹城市| 司法| 鹤山市| 深水埗区| 大竹县|