溫馨提示×

溫馨提示×

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

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

mysql 聚合函數(shù)怎么用

發(fā)布時間:2020-10-20 14:30:21 來源:億速云 閱讀:191 作者:小新 欄目:MySQL數(shù)據(jù)庫

mysql 聚合函數(shù)怎么用?這個問題可能是我們?nèi)粘W(xué)習(xí)或工作經(jīng)常見到的。希望通過這個問題能讓你收獲頗深。下面是小編給大家?guī)淼膮⒖純?nèi)容,讓我們一起來看看吧!

mysql聚合函數(shù)用法:1、使用SELECT語句返回系列值的總數(shù),代碼為【SELECT SUM(數(shù)量) AS 總數(shù)】;2、使用AVG函數(shù)計算平均數(shù),代碼為【SELECT AVG(單價* 數(shù)量) As 平均金額】。

mysql聚合函數(shù)用法:

1、SUM函數(shù):

我們先從SUM函數(shù)開始。這個函數(shù)通常在SELECT語句中使用,返回系列值的總數(shù)。假設(shè)產(chǎn)品項目經(jīng)理想了解目前為止商品的總銷售額,那么我們可以使用以下的查詢腳本:

  SELECT SUM(數(shù)量) AS 總數(shù) 
  FROM ProductOrders

  執(zhí)行語句將返回以下結(jié)果:

  Total 
  ----------- 
  1837

2、AVG函數(shù)(平均函數(shù))

使用方法和SUM類似,它給我們提供系列值的算術(shù)平均數(shù)。這次我們可以嘗試稍微復(fù)雜點的任務(wù):找出北美洲大陸所有訂單的金額平均值。注意,我們需要將“數(shù)量”列和“單價”列相乘計算出每張訂單的金額總數(shù)。查詢腳本如下:

SELECT AVG(單價* 數(shù)量) As 平均金額 
FROM ProductOrders 
WHERE 所在地 = “北美洲”

返回結(jié)果如下:

平均金額 
--------------------- 
862.3075

3、COUNT計數(shù)函數(shù)

  SQL提供了COUNT函數(shù)來查詢滿足設(shè)定標(biāo)準(zhǔn)的記錄的數(shù)量。我們可以使用單獨COUNT(*)語法來檢索一個表內(nèi)的行數(shù)。此外,還可以利用WHERE子句來設(shè)置計數(shù)條件,返回特定記錄的條數(shù)。例如,假設(shè)我們的產(chǎn)品銷售經(jīng)理想了解公司處理了多少張要求購買100個以上產(chǎn)品的訂單。下面是滿足這個條件的SQL查詢腳本:

SELECT COUNT(*) AS '大訂單數(shù)量'
FROM ProductOrders
WHERE 數(shù)量> 100

返回結(jié)果如下:

大訂單數(shù)量 
---------------------- 
3

  COUNT函數(shù)還允許使用 DISTINCT關(guān)鍵字和表達(dá)式來計算滿足表達(dá)式的值在目標(biāo)數(shù)據(jù)中出現(xiàn)的數(shù)量。同樣地,還可以使用ALL關(guān)鍵字來返回滿足表達(dá)式的值的全部數(shù)量,不管其中有沒有重復(fù)值。例如,產(chǎn)品經(jīng)理想通過一個簡單查詢返回數(shù)據(jù)庫中“所在地”的數(shù)量。

  首先我們來看看使用ALL關(guān)鍵字的查詢:

SELECT COUNT(ALL 所在地) As '所在地數(shù)量'
FROM ProductOrders

返回的結(jié)果為:

所在地數(shù)量 
-------------------- 
7

  顯然這不是我們需要的結(jié)果。因為根據(jù)ProductOrders表所示,所有訂單的所在地只有三個,分別是北美洲、非洲、歐洲。下面讓我們來用DISTINCT關(guān)鍵字來代替看看:

SELECT COUNT(DISTINCT 所在地) As '所在地數(shù)量'
FROM ProductOrders

返回的結(jié)果為:

所在地數(shù)量
-------------------- 
3

這才是我們想要的結(jié)果。

4、最大值和最小值

  在本文的最后一節(jié),我們來看看SQL為我們提供用來查找滿足給定表達(dá)式的最大值和最小值的函數(shù)。MAX()函數(shù)返回給定數(shù)據(jù)集中的最大值。我們可以給該函數(shù)一個字段名稱來返回表中給定字段的最大值。還可以在MAX()函數(shù)中使用表達(dá)式和GROUP BY從句來加強(qiáng)查找功能。

  還是ProductOrders表,假設(shè)我們的產(chǎn)品經(jīng)理想要從這個數(shù)據(jù)庫中找到給公司帶來最多收入的那份訂單。我們可以使用以下查詢來找到這張訂單,并返回該訂單的銷售總金額:

  SELECT MAX(數(shù)量 * 單價)As '最大的訂單' 
  FROM ProductOrders

  返回結(jié)果如下:

  最大的訂單 
  --------------------- 
  2517.58

  MIN()函數(shù)的用法類似,但返回表達(dá)式的最小值。讓我們用MIN()函數(shù)來嘗試稍微復(fù)雜一點的查詢。我們的銷售部門目前正在分析小訂單的數(shù)據(jù)。他們想要查詢每個所在地的最小訂單。這除了要在表達(dá)式中計算值外,還需要用到GROUP BY從句來總結(jié)所在地的數(shù)據(jù)。SQL查詢?nèi)缦拢?/p>

SELECT 所在地, MIN(數(shù)量 * 單價) AS '最小訂單'
FROM ProductOrders 
GROUP BY 所在地

返回結(jié)果如下:

所在地       最小訂單
------------- --------------------- 
非洲         167.04
歐洲        2099.02
北美洲    70.65

感謝各位的閱讀!看完上述內(nèi)容,你們對mysql 聚合函數(shù)怎么用大概了解了嗎?希望文章內(nèi)容對大家有所幫助。如果想了解更多相關(guān)文章內(nèi)容,歡迎關(guān)注億速云行業(yè)資訊頻道。

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

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

AI