聚集函数:运行在行组上,计算和返回单个值的函数。
利用标准的算术操作符,所有聚集函数都可以用来执行多个列上的计算。如:
select sum(item_price*quantity) as total_price from orderitems;
AVG()通过对表中行数计数并计算特定列支之和,求得该列的平均值。AVC()可用来返回所有列的平均值,也可以用来返回特定列或行的平均值。
select avg(prod_price) as avg_price from products;
AVG()函数只用于单个列;列名必须作为函数参数给出。
COUNT()函数有两种使用方式:
MAX()返回指定列中的最大值,MAX()要求指定列名。
MAX()函数忽略列值为NULL的行。
MIN()返回指定列的最小值,MIN()要求指定列名。
MIN()函数忽略列值为NULL的行。
SUM()用来返回指定列值的和。
SUM()也可以用来合计计算值:
select sum(item_price*quantity) as total_price from orderitems;
上面的聚集函数都可以如下使用:
示例:
select avg(distinct prod_price) as avg_price from products;
SELECT语句可根据需要包含多个聚集函数:
select count(*) as num_items, min(prod_price) as price_min, max(prod_price) as price_max, avg(prod_price) as price_avg from products;
num_items | price_min | price_max | price_avg |
9 | 3.4 | 11.9 | 6.82 |