【什么是聚合函数?】
聚合函数是sql中的基本函数,其功能是对一组值执行某种计算并返回单一的值(执行结果)。除了COUNT函数以外,聚合函数都会忽略空值(NULL)。聚合函数经常与SELECT语句的GROUP BY子句一起使用。
【聚合函数的性质】
所有聚合函数都具有确定性。任何时候用一组给定的输入值调用它们时,都返回相同的值。无二义性。
【聚合函数会在什么场合使用?】
1、Select语句的选择列表,包括子查询和外部查询。
2、使用compute或compute by产生汇总列时。
3、having子句对分组的数据记录进行条件筛选。
【SQL中聚合函数有哪些?】
1、平均值:avg
返回指定数据的平均值。
--从table_name表计算column_name的平均值。 SELECT AVG(column_name) FROM table_name
2、统计项数值:count
返回指定组中项目的数量。
--返回table_name表中column_name列的数量 SELECT COUNT(column_name) FROM table_name
3、统计项数值:count_big
返回指定组中的项目数量,与COUNT函数不同的是COUNT_BIG返回bigint值,而COUNT返回的是int值。
--返回table_name表中column_name列的数量 SELECT COUNT_BIG(column_name) FROM table_name
4、最大值:max
返回指定数据的最大值。
--返回table_name表中column_name列的最大值。 SELECT MAX(column_name) FROM table_name
5、最小值:min
返回指定数据的最小值。
-返回table_name表中column_name列的最大值。
SELECT MIN(column_name) FROM table_name
6、求和值:sum
返回指定数据的和,只能用于数字列,空值被忽略。
--返回table_name表中column_name列的和。 SELECT SUM(column_name) FROM table_name
7、用于测试 cube 或 rollup 空值:grouping
产生一个附加的列,当用CUBE或ROLLUP运算符添加行时,输出值为1。当所添加的行不是由CUBE或ROLLUP产生时,输出值为0。
8、计算分组级别:grouping_id
这是计算分组级别的函数。仅当指定了 GROUP BY 时,GROUPING_ID 才能在 SELECT列表、HAVING 或 ORDER BY 子句中使用。
9、检测表中行的更改:binary_checksum
返回对表中的行或表达式列表计算的二进制校验值,用于检测表中行的更改。
10、求校验和:checksum_agg
返回指定数据的校验值,空值被忽略。
11、求方差:var
返回给定表达式中所有值的统计方差。
-- 查询person表里的年龄的方差 select var(age) from person
12、求总体方差:varp
返回指定表达式中所有值的总体统计方差。
13、标准偏差:stdev
返回给定表达式中所有值的统计标准偏差。
-- 查询person表里的年龄的标准偏差 select stdev(age) from person
14、求总体标准偏差:stdevp
返回指定表达式中所有值的总体标准偏差。
参考资料:http://www.cnblogs.com/kissdodog/archive/2013/03/09/2951523.html