作为数据分析的第一步,我们常常需要表述一组数据特征,例如个数、平均值、最大值、最小值等。
在SQL中,我们使用聚合函数对一组数值计算返回一个汇总值,也可以配合使用group by对数据进行分组,再聚合求汇总值。
常见的聚合函数:
COUNT()——返回行数
SUM()——返回总和
MAX()——返回最大值
MIN()——返回最小值
AVG()——返回平均值
STDEV() ——返回标准差
1、求个数/行数等:count()
例如: 统计个数
select count(字段) as cnt1 from employee -- 不计算空值
select count(*) as cnt2 from employee -- 包括空值
select count(1) as cnt3 from employee -- 包含空值
select count(NULL) as cnt4 from employee -- 0
2、求总和/总分等:sum()
例如:求员工总工资
select sum(salary) as sum_salary from employee
3、求最大值/最小值等:max()/min()
例如:求公司员工最高工资/最低工资
select max(salary) as max_salary ,min(salary) as min_salary from employee
4、求某一列平均数 :avg()
例如:求公司员工的平均工资
select avg(salary) as avg_salary from employee
5、求标准差:stdev()
例如:求公司员工的工资的离散程度(标准差)
select stdev(salaly) as std_salary from employee
特别注意:
当字段中出现NULL时,需要结合业务考虑是否计算在内。如果需要可以使用IsNull函数把null转换成0,例如IsNull(salary,0)