我們經常需要彙總數據而不用把它們實際檢索出來,爲此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語句可根據需要包含多個聚集函數。