SQL中的聚合函数介绍

SQL中的聚合函数介绍  什么是聚合函数(aggregatefunction)?聚合函数对一组值执行计算并返回单一的值。 聚合函数有什么特点?除了COUNT以外,聚合函数忽略空值。 聚合函数经常与SELECT语句的GROUPBY子句一同使用。 所有聚合函数都具有确定性。任何时候用一组给定的输入值调用它们时,都返回相同的值。 标量函数:只能对单个的数字或值进行计算。主…

大家好,又见面了,我是你们的朋友全栈君。

 

SQL中的聚合函数介绍

 

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

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

SQL中的聚合函数介绍

 

聚合函数有什么特点?

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

SQL中的聚合函数介绍

 

常见的聚合函数有哪些?

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 Scores
select sum(salary) from Company

4、求最大值,最高分,最高工资等:max()

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

select max(Score) from Scores
select max(salary) from Company

5、求最小值,最低分,最低工资等:max()

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

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

SQL中的聚合函数介绍

 

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

  • 1、 select 语句的选择列表(子查询或外部查询);
  • 2、having 子句;
  • 3、compute 或 compute by 子句中等;

注意: 在实际应用中,聚合函数常和分组函数group by结合使用,用来查询.where 子句的作用对象一般只是行,用来作为过滤数据的条件。

SQL中的聚合函数介绍

 

其他聚合函数(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 sales

7、 grouping()产生一个附加的列。

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

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

例如:

select prd_no,sum(qty),grouping(prd_no) from sales group by prd_no with rollup

8、binary_checksum() 返回对表中的行或表达式列表计算的二进制校验值,用于检测表中行的更改。

例如:

select prd_no,binary_checksum(qty) from sales group by prd_no

9、checksum_agg() 返回指定数据的校验值,空值被忽略。

例如:

select prd_no,checksum_agg(binary_checksum(*)) from sales group by prd_no

10、checksum() 返回在表的行上或在表达式列表上计算的校验值,用于生成哈希索引。

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

例如:

select stdev(prd_no) from sales

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

例如:

select stdevp(prd_no) from sales

13、 var() 返回给定表达式中所有值的统计方差。

例如:

select var(prd_no) from sales

14、 varp()返回给定表达式中所有值的填充的统计方差。

例如:

select varp(prd_no) from sales

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/151822.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 状态模式「建议收藏」

    状态模式「建议收藏」状态模式

    2022年4月21日
    49
  • Github搭建个人博客(2019最新版,亲测)

    Github搭建个人博客(2019最新版,亲测)版权声明:本文为徐代龙原创文章,未经徐代龙允许不得转载。https://blog.csdn.net/xudailong_blog/article/details/78762262(一)前言:建议:慢慢看,也就这一篇用心了点写说来话长,一把辛酸泪,可算是弄好了。1起因:在很早很早,大一的时候,估计快记不得日子了,那时候来到PC吧创业团队,一个大一级的学长通过…

    2022年5月27日
    30
  • C++ struct 初始化与赋值

    C++ struct 初始化与赋值1.CC++结构体的初始化今天看到项目中对自定义结构体初始化方式有点陌生,特在此罗列一下可用的结构体初始化的方式。对结构体structA{intb;intc;}有几种初始化方式:第一种:structAa={.b=1,.c=2};第二种:structAa={b:1,c:2};第三种:structAa1=…………

    2022年7月11日
    18
  • arcgis python二次开发_arcgis二次开发python_arcgis二次开发是什么_arcgis二次开发

    arcgis python二次开发_arcgis二次开发python_arcgis二次开发是什么_arcgis二次开发VS2013中ArcGIS二次开发部分问题问题解决方法VS2013中新建项目时没有ArcGIS模板解决办法:安装ArcGIS10.x会自动生成C:\ProgramFilesx86\MicrosoftVisualStudio10.0\Common7\IDE\ItemTemplates\CSharp\ArcGIS文件夹和C:\ProgramFilesx86\MicrosoftVi…

    2022年6月15日
    23
  • 如何获取服务器种子_连接服务器超时代码leaf

    如何获取服务器种子_连接服务器超时代码leaf*{font-family:”微软雅黑”;}body{background:#fff;}input{cursor:pointer;}.ti{margin:0;padding:20px0;line-height:30px;color:#333;}.tia{color:#255359;}#trackertext{display:block;margin:0auto;backgroun…

    2022年9月27日
    0
  • vue刷新页面的方法_vue局部刷新页面

    vue刷新页面的方法_vue局部刷新页面业务需求/问题描述在项目中经常遇到一个问题,例如新增完表单数据和需要重新刷新页面。类似的业务还有很多。这时我们可以考虑的方式如下①(推荐)v-if刷新页面,并依赖注入(不太清楚的小伙伴可以看我之前的文章)//父组件<子组件v-if=’load’>exportdefault{ data(){ load=true }, methods:{ refresh(){ this.load=false this.$nextTick(()=>{ t

    2022年10月17日
    0

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号