MySQL 的常見的聚合函數(shù)有 AVG、COUNT、SUM、MIN、MAX,上一小節(jié)介紹了 AVG、COUNT、SUM 三種聚合函數(shù),本小節(jié)介紹如何使用 MIN、MAX 兩種聚合函數(shù),另外再介紹一下如何在 GROUP BY 中使用聚合函數(shù)。
10年積累的網(wǎng)站建設(shè)、成都做網(wǎng)站經(jīng)驗(yàn),可以快速應(yīng)對(duì)客戶對(duì)網(wǎng)站的新想法和需求。提供各種問題對(duì)應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認(rèn)識(shí)你,你也不認(rèn)識(shí)我。但先網(wǎng)站制作后付款的網(wǎng)站建設(shè)流程,更有汪清免費(fèi)網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。
以 teacher 表為例,先查所有 teacher 信息:
查詢結(jié)果如下圖:
可以使用 MIN() 函數(shù)對(duì)結(jié)果集取年齡最小值的數(shù)據(jù):
執(zhí)行結(jié)果如下圖:
以 student 表為例,先查看所有 student 信息:
查詢結(jié)果如下圖:
可以使用 MAX() 函數(shù)對(duì)結(jié)果集取年齡最大值的數(shù)據(jù):
執(zhí)行結(jié)果如下圖:
以 student_course、course、student 表內(nèi)連接查詢?yōu)槔?/p>
查詢結(jié)果如下圖:
使用 AVG 函數(shù)取分組數(shù)據(jù)平均年齡:
執(zhí)行結(jié)果如下圖 :
可以使用 HAVING 對(duì)上述結(jié)果篩選,例如選出選課學(xué)生平均年齡大于 20 的課程數(shù)據(jù):
執(zhí)行結(jié)果如下圖:
本小節(jié)介紹了如何使用 MIN、MAX 兩種聚合函數(shù)對(duì)查詢結(jié)果集進(jìn)行篩選,還介紹了如何在 GROUP BY中分組使用聚合函數(shù),并且使用 HAVING 后面的條件對(duì)分組數(shù)據(jù)進(jìn)行篩選,需要注意的是聚合函數(shù)產(chǎn)生的數(shù)據(jù)列最好重命名,這是因?yàn)楹蠖顺绦蛘Z言在處理這些數(shù)據(jù)時(shí)需要規(guī)范的字段名,例如:
查詢結(jié)果如下圖:
很多時(shí)候,我們查詢數(shù)據(jù)的時(shí)候都不會(huì)把明細(xì)數(shù)據(jù)查詢出來,那樣一般意義也不大。更多的時(shí)候是根據(jù)業(yè)務(wù)需求,把數(shù)據(jù)聚合成業(yè)務(wù)能直接使用的數(shù)據(jù)。MYSQL中有5個(gè)聚合函數(shù),如下面5個(gè),用的最多的還是count和sum,下面分別介紹一下用法。
【COUNT】
在MySQL中,COUNT()函數(shù)統(tǒng)計(jì)數(shù)據(jù)表中包含的記錄行的總數(shù),或者根據(jù)查詢結(jié)果返回列中包含的數(shù)據(jù)行數(shù),使用方法有以下兩種:
求order表中,查詢一共有多少條訂單數(shù),SQL語句如下↓
【SUM】
在MySQL中,SUM()是一個(gè)求總和的函數(shù),返回指定列值的總和。
求order表中所有產(chǎn)品銷售數(shù)量,SQL語句如下↓
【AVG】
在MySQL中,AVG()函數(shù)通過計(jì)算返回的行數(shù)和每一行數(shù)據(jù)的和,求得指定列數(shù)據(jù)的平均值。
求order表中,2021年所有產(chǎn)品的平均單價(jià),SQL語句如下↓
【MAX/MIN】
在MySQL中,MAX()函數(shù)是用來返回指定列中的最大值。
求order表中,查詢最大的單價(jià)價(jià)格,SQL預(yù)計(jì)如下↓
在MySQL中,MIN()函數(shù)是用來返回指定列中的最小值。
求order表中,查詢最小的單價(jià)價(jià)格,SQL預(yù)計(jì)如下↓
【結(jié)合GROUP BY】
正常情況下,聚合函數(shù)都是搭配著GROUP BY來使用的??梢允前词》菥酆?、產(chǎn)品聚合、時(shí)間聚合等等。下面演示每個(gè)品牌最低單價(jià)的聚合,其他幾個(gè)聚合函數(shù)使用方式一樣,SQL語句如下↓
還可以用ORDER BY排個(gè)序,求每個(gè)品牌累計(jì)銷售價(jià)格的SQL語句,從高到低排序↓
End
◆ PowerBI開場(chǎng)白
◆ Python高德地圖可視化
◆ Python不規(guī)則條形圖
輸出所有的字段及不使用謂詞如distinct,limit等、不分組匯總、不附加任何篩選條件和實(shí)施任何連接即可檢索出該表的所有數(shù)據(jù)。例如下列語句:
select * from t1;
* 號(hào)表示輸出所有的字段
利用Mysql提供的max()與min()函數(shù)即可實(shí)現(xiàn)。如下:
select max(column1),min(column1) from Test;