我们经常需要汇总数据而不用把它们实际检索出来,为此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语句可根据需要包含多个聚集函数。