mysql之聚集函數

我們經常需要彙總數據而不用把它們實際檢索出來,爲此MySQL提供了專門的函數。使用這些函數,MySQL查詢可用於檢索數據,以便分析和報表生成。這種類型的檢索例子有以下幾種。
在這裏插入圖片描述

1.AVG()函數

AVG() 通過對錶中行數計數並計算特定列值之和,求得該列的平均值。 AVG() 可用來返回所有列的平均值,也可以用來返回特定列或行的平均值
select avg(price) as avg_price from h_info; 計算整張表的平均價格。
select avg(price) as avg_price from h_info where vent_id = 2; 計算vent_id=2的平均價格

2.COUNT()函數

COUNT() 函數進行計數。可利用 COUNT() 確定表中行的數目或符合特定條件的行的數目。

  • 使用 COUNT(*) 對錶中行的數目進行計數,不管表列中包含的是空
    值( NULL )還是非空值。
  • 使用 COUNT(column) 對特定列中具有值的行進行計數,忽略
    NULL 值。
    select count(price) as count from h_info; 表中一共有幾條price數據。
    select count(*) as count from h_info; 表中有幾條記錄

3.MAX()函數,MIN()函數

MAX() 返回指定列中的最大值。 MAX() 要求指定列名。
select max(price) as max_price from h_info; 查找數值最大
select max(date) as max_date from h_info; 查找日期最大

4.SUM()函數

SUM() 用來返回指定列值的和(總計)。
先查看單價和數量
在這裏插入圖片描述
再計算總價值
在這裏插入圖片描述

聚集不同值(DISTINCT)

下面的例子使用 AVG() 函數返回特定供應商提供的產品的平均價格,使用了 DISTINCT 參數,因此平均值只考慮各個不同的價格:
在這裏插入圖片描述

組合聚集函數

實際上 SELECT語句可根據需要包含多個聚集函數。
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章