很多時(shí)候,我們查詢數(shù)據(jù)的時(shí)候都不會(huì)把明細(xì)數(shù)據(jù)查詢出來(lái),那樣一般意義也不大。更多的時(shí)候是根據(jù)業(yè)務(wù)需求,把數(shù)據(jù)聚合成業(yè)務(wù)能直接使用的數(shù)據(jù)。MYSQL中有5個(gè)聚合函數(shù),如下面5個(gè),用的最多的還是count和sum,下面分別介紹一下用法。
專(zhuān)注于為中小企業(yè)提供成都網(wǎng)站建設(shè)、網(wǎng)站制作服務(wù),電腦端+手機(jī)端+微信端的三站合一,更高效的管理,為中小企業(yè)克山免費(fèi)做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動(dòng)了上千多家企業(yè)的穩(wěn)健成長(zhǎng),幫助中小企業(yè)通過(guò)網(wǎng)站建設(shè)實(shí)現(xiàn)規(guī)模擴(kuò)充和轉(zhuǎn)變。
【COUNT】
在MySQL中,COUNT()函數(shù)統(tǒng)計(jì)數(shù)據(jù)表中包含的記錄行的總數(shù),或者根據(jù)查詢結(jié)果返回列中包含的數(shù)據(jù)行數(shù),使用方法有以下兩種:
求order表中,查詢一共有多少條訂單數(shù),SQL語(yǔ)句如下↓
【SUM】
在MySQL中,SUM()是一個(gè)求總和的函數(shù),返回指定列值的總和。
求order表中所有產(chǎn)品銷(xiāo)售數(shù)量,SQL語(yǔ)句如下↓
【AVG】
在MySQL中,AVG()函數(shù)通過(guò)計(jì)算返回的行數(shù)和每一行數(shù)據(jù)的和,求得指定列數(shù)據(jù)的平均值。
求order表中,2021年所有產(chǎn)品的平均單價(jià),SQL語(yǔ)句如下↓
【MAX/MIN】
在MySQL中,MAX()函數(shù)是用來(lái)返回指定列中的最大值。
求order表中,查詢最大的單價(jià)價(jià)格,SQL預(yù)計(jì)如下↓
在MySQL中,MIN()函數(shù)是用來(lái)返回指定列中的最小值。
求order表中,查詢最小的單價(jià)價(jià)格,SQL預(yù)計(jì)如下↓
【結(jié)合GROUP BY】
正常情況下,聚合函數(shù)都是搭配著GROUP BY來(lái)使用的。可以是按省份聚合、產(chǎn)品聚合、時(shí)間聚合等等。下面演示每個(gè)品牌最低單價(jià)的聚合,其他幾個(gè)聚合函數(shù)使用方式一樣,SQL語(yǔ)句如下↓
還可以用ORDER BY排個(gè)序,求每個(gè)品牌累計(jì)銷(xiāo)售價(jià)格的SQL語(yǔ)句,從高到低排序↓
End
◆ PowerBI開(kāi)場(chǎng)白
◆ Python高德地圖可視化
◆ Python不規(guī)則條形圖
MySQL 的常見(jiàn)的聚合函數(shù)有 AVG、COUNT、SUM、MIN、MAX,上一小節(jié)介紹了 AVG、COUNT、SUM 三種聚合函數(shù),本小節(jié)介紹如何使用 MIN、MAX 兩種聚合函數(shù),另外再介紹一下如何在 GROUP BY 中使用聚合函數(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(yǔ)言在處理這些數(shù)據(jù)時(shí)需要規(guī)范的字段名,例如:
查詢結(jié)果如下圖:
還是想快點(diǎn)寫(xiě)完,進(jìn)入下一個(gè)PowerBI專(zhuān)題了,應(yīng)該后面再寫(xiě)五篇左右,就開(kāi)始PowerBI系列了,然后會(huì)加一些SQL的綜合使用案例。窗口函數(shù)寫(xiě)三篇就差不多了,后面應(yīng)該還會(huì)加一些綜合案例。這一篇主要介紹一下聚合函數(shù)和NTH_VALUE、NTILE函數(shù),聚合函數(shù)和配上窗口函數(shù)使用場(chǎng)景還是很多,這個(gè)可以稍微 關(guān)注一下。
【NTH_VALUE】
NTH_VALUE(EXP,N),返回窗口中第N個(gè)EXP的值,EXP可以是表達(dá)式,也可以是列名。繼續(xù)用之前的數(shù)據(jù),取出每個(gè)用戶的第二次購(gòu)買(mǎi)的日期,SQL語(yǔ)句如下
從結(jié)果很明顯看出,第一次購(gòu)買(mǎi)日期是空值,從第二個(gè)購(gòu)買(mǎi)日期開(kāi)始,都是第二條購(gòu)買(mǎi)日期記錄。
【NTLIE】
NTILE(N),將分區(qū)中的有序數(shù)據(jù)分為n個(gè)桶,記錄桶號(hào)。現(xiàn)在需要根據(jù)金額高低,把每個(gè)分區(qū)分成3組,SQL和結(jié)果如下
【聚合函數(shù)】
聚合函數(shù)參考這一篇, 《MySQL聚合函數(shù)》 。通過(guò)聚合函數(shù)作為窗口函數(shù)運(yùn)算,可以動(dòng)態(tài)計(jì)算在指定的窗口內(nèi)的各種聚合函數(shù)值。計(jì)算每個(gè)用戶,按時(shí)間排序,截止每個(gè)時(shí)間的訂單數(shù)量、訂單金額、平均金額、最大金額、最小金額。SQL語(yǔ)句和結(jié)果如下
End
網(wǎng)站題目:mysql聚合函數(shù)怎么用 am4320115
標(biāo)題路徑:http://jinyejixie.com/article30/ddojgpo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供動(dòng)態(tài)網(wǎng)站、標(biāo)簽優(yōu)化、品牌網(wǎng)站設(shè)計(jì)、定制網(wǎng)站、電子商務(wù)、網(wǎng)站改版
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容