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