SQL中的聚合函数介绍

数据大师
数据大师
数据大师
294
文章
0
评论
2021-08-1310:08:01 评论 1,151 1928字
摘要

聚合函数对一组值执行计算并返回单一的值。本文详细介绍了SQL中的聚合函数。

 

一、什么是聚合函数(aggregate function)?

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

 

二、聚合函数有什么特点?

除了 COUNT 以外,聚合函数忽略空值。聚合函数经常与 SELECT 语句的 GROUP BY 子句一同使用。所有聚合函数都具有确定性。任何时候用一组给定的输入值调用它们时,都返回相同的值。标量函数:只能对单个的数字或值进行计算。主要包括字符函数、日期/时间函数、数值函数和转换函数这四类。

 

三、常见的聚合函数有哪些?

1、求个数/记录数/项目数等:count()

例如: 统计员工个数?

select count( ) from Company --包括空值select count(*) from Company --不包括空值2、求某一列平均数 :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‘3、求总和,总分等:sum() --必须为数字列

例如:求某个班的总成绩?求公司总薪资支出?

select sum(score) from Scoresselect sum(salary) from Company4、求最大值,最高分,最高工资等:max()

例如:求班里最高分,公司员工最高工资?

select max(Score) from Scoresselect max(salary) from Company5、求最小值,最低分,最低工资等:max()

例如:求班里最低分,公司员工最低工资?

select min(Score) from Scoresselect min(salary) from Company

 

四、聚合函数怎么正确的使用?

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

 

五、其他聚合函数(aggregate function)

6、 count_big()返回指定组中的项目数量。

与count()函数区别:count_big()返回bigint值,而count()返回的是int值。

数据类型详见:

SQL Server 数据类型的详细介绍及应用实例1

SQL Server 数据类型的详细介绍及应用实例2

SQL Server 数据类型的详细介绍及应用实例3

例如:

select count_big(prd_no) from sales7、 grouping()产生一个附加的列。

当用cube或rollup运算符添加行时,输出值为1;

当所添加的行不是由cube或rollup产生时,输出值为0.

例如:

select prd_no,sum(qty),grouping(prd_no) from sales group by prd_no with rollup8、binary_checksum() 返回对表中的行或表达式列表计算的二进制校验值,用于检测表中行的更改。

例如:

select prd_no,binary_checksum(qty) from sales group by prd_no9、checksum_agg() 返回指定数据的校验值,空值被忽略。

例如:

select prd_no,checksum_agg(binary_checksum(*)) from sales group by prd_no10、checksum() 返回在表的行上或在表达式列表上计算的校验值,用于生成哈希索引。

11、stdev()返回给定表达式中所有值的统计标准偏差。

例如:

select stdev(prd_no) from sales12、stdevp() 返回给定表达式中的所有值的填充统计标准偏差。

例如:

select stdevp(prd_no) from sales13、 var() 返回给定表达式中所有值的统计方差。

例如:

select var(prd_no) from sales14、 varp()返回给定表达式中所有值的填充的统计方差。

例如:

select varp(prd_no) from sales

 

End.

作者:剑云锋

本文为转载分享,如果涉及作品、版权和其他问题,请联系我们第一时间删除(微信号:lovedata0520

更多文章前往首页浏览http://www.itongji.cn/

 

  • 我的微信公众号
  • 微信扫一扫
  • weinxin
  • 我的微信公众号
  • 微信扫一扫
  • weinxin
匿名

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: