单个聚集函数
avg():
- 行数计数,计算特定列值之和,求得该列的平均值
- 必须给出列名作为函数的参数
- 忽略列值为null的行
selete avg(p_price) as avg_price
from products;
进一步:1003供应商的产品的平均价格
selete avg(p_price) as avg_price
from products
where v_id=1003;
count():
两种使用方式:
- count(*)对表中的行进行统计,不管表中的列值是否为空;
- count(col)对特定的列的非空值行进行统计,忽略null的行。
selete count(*)as num
from tb;
max():
- 返回列中的最大值
- 忽略列值为null的行
对非数值使用max():MySQL允许它返回任一列中的最大值,如文本、日期。
sum():
返回指定列值的和
聚集不同值:distinct
例:不同价格的平均值selete avg(distinct p_price)as avg_price
from products
where v_id=1003;
组合聚集函数:
selete count(*) as num,min(p_price) as max_p_price,
max(p_price) as min_p_price,
avg(p_price) as avg_p_price
from products;