mysql 聚合函數(shù)用法是什么

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

mysql 聚合函數(shù)用法是什么

更多相關免費學習推薦:mysql教程(視頻)

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

1、SUM函數(shù):

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

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

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

  Total?   -----------?   1837

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

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

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

? ? 返回結果如下:

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

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

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

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

? ? 返回結果如下:?

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

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

  首先我們來看看使用ALL關鍵字的查詢:

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

? ? 返回的結果為:

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

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

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

? ? 返回的結果為:

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

這才是我們想要的結果。

4、最大值和最小值

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

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

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

  返回結果如下:?

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

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

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

? ? 返回結果如下:

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

以上就是

? 版權聲明
THE END
喜歡就支持一下吧
點贊9 分享