聚合函数
COUNT:计算表中的记录数(行数) (只有COUNT函数可以使用*作为参数)
SUM:计算表中数值列中数据的合计值
AVG:计算表中数值列中数据的平均值
MAX:求出表中任意列中数据的最大值
MIN:求出表中人一列中数据的最小值
用于汇总的函数称为聚合函数或者聚集函数
所谓聚合,就是将多行汇总为一行。实际上,所有的聚合函数都是这样,输入多行输出一行。
SELECT COUNT(*)
FROM Product;
法则3-1
COUNT函数的结果根据参数的不同而不同。COUNT(*)会得到包含NULL的数据行数,而COUNT(<列名>)会得到NULL之外的数据行数。
SELECT SUM(sale_price), SUM(purchase_price)
FROM Product;
法则3-2
聚合函数会将NULL排除在外。
但COUNT(*)例外,并不会排除NULL
SELECT AVG(sale_price), AVG(purchase_price)
FROM Product;
(值的合计)/(值的个数)
会事先删除NULL再进行计算,分子分母都会删除
SELECT MAX(sale_price),MIN(purchase_price)
FROM Product;
法则3-3
MAX/MIN函数适用于所有数据类型的列。
SUM/AVG函数只适用于数值类型的列
使用聚合函数删除重复值(关键字DISTINCT)
SELECT COUNT(DISTINCT product_type)
FROM Product;
法则3-4
想要计算值的种类时,可以在COUNT函数的参数中使用DISTINCT.
法则3-5
在聚合函数的参数中使用DISTINCT,可以删除重复数据