SQL-常见的聚合函数有哪些?

聚合函数 聚合函数对一组值执行计算并返回单一的值。

求个数/记录数/项目数等:count() count()的用法

COUNT(*) = COUNT(1)
COUNT(COLUMN)
COUNT(DISTINCT COLUMN) //不包含null的唯一行数
COUNT(expression)

例如: 统计员工个数? select count( 列名) from Company --不包括null select count(*) from Company --包括null

例如:

SELECT title, COUNT(DISTINCT emp_no) AS t FROM titles
GROUP BY title

求某一列平均数 :avg() 例如:求某个班平均成绩 ?求某个公司员工的平均工资?

select avg(score) from Scores —平均成绩 select avg(salary) from Company --平均工资

注意: 若某行的score值为null时,计算平均值时会忽略带有null值得那一行。 如果想要把null当做0,那么可以使用IsNull函数把null转换成0,语法如下: avg(IsNull(score,0)) as ’Average Score‘

求总和,总分等:sum() --必须为数字列 例如:求某个班的总成绩?求公司总薪资支出? select sum(score) from Scores select sum(salary) from Company

求最大值,最高分,最高工资等:max() 例如:求班里最高分,公司员工最高工资? select max(Score) from Scores select max(salary) from Company

求最小值,最低分,最低工资等:min() 例如:求班里最低分,公司员工最低工资? select min(Score) from Scores select min(salary) from Company

关于()内的值的类型限制 sum、avg只能对数值进行操作 min、max可以对字符串排序

聚合函数实际使用 1、 select 语句的选择列表(子查询或外部查询); 2、having 子句; 3、compute 或 compute by 子句中等; (Mysql不支持compute) 注意: 在实际应用中,聚合函数常和分组函数group by结合使用,用来查询.where 子句的作用对象一般只是行,用来作为过滤数据的条件。

经验分享 程序员 微信小程序 职场和发展