我们常常需要汇总数据,而不是把数据检索出来,MySQL提供了专门的函数。
检索例子:
MySQL提供了5个聚集函数。
聚集函数:运行在行组上,计算和返回单个值的函数。
函数 | 说明 |
---|---|
AVG() | 返回某列的平均值 |
COUNT() | 返回某列的行数 |
MAX() | 返回某列的最大值 |
MIN() | 返回某列的最小值 |
SUM() | 返回某列值之和 |
查出所有产品价格的平均值
SELECT AVG(product_price) AS avg FROM products
注:AVG()只能用来确定特定数值列的平均值,而且列名必须作为函数参数给出,为了获得多个列的平均值,必须使用多个AVG()函数。
COUNT()有两种用法:
返回所有产品的数目:
SELECT COUNT(*) FROM products
返回供应商所在行的数目:
SELECT COUNT(vend_id) FROM products
注:COUNT(column)如果指定某一列,如果列上有null,则会忽略该行;但是COUNT(*)不会。
以上5个函数都可以如下使用:
查找所有不同价格的价格平均值
SELECT AVG(DISTINCT product_price) FROM products
注:如果指定列名,则DISTINCT只能用于COUNT()。
示例:
SELECT AVG(product_price) AS avg,COUNT(product_id) AS count,
MAX(product_price) AS max,MIN(product_price) AS min, SUM(product_price) AS sum FROM products