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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • QListWidget「建议收藏」

    QListWidget「建议收藏」QListWidget我们要介绍的第一个是QListWidget。先来看下面的代码示例:12345678910111213141516171819202122232425262728label=newQLabel(this);label->setFixedWidth(70)

    2022年5月3日
    43
  • 一分钟教会你固态硬盘数据恢复方法

    不少人都知道,固态硬盘上丢失了数据是很难恢复的,但是也有一些数据丢失的情况,是可以尝试恢复数据的,比如说误删除分区、分区变为RAW状态。针对这些情况,今天呢,小编给大家分享一下固态硬盘数据恢复方法,我们需要借助一款好用的数据恢复软件——易我数据恢复,该软件可深度扫描磁盘数据,根据删除标记、文件目录信息和文件内容等三种方式分别检索文件,搜寻更全面。(详情访问:https://www.easeus.com.cn/data-recovery-software/data-recovery-wizard.html

    2022年4月5日
    302
  • 【SpringBoot】41、SpringBoot中使用脚本命令启动、停止程序「建议收藏」

    【SpringBoot】41、SpringBoot中使用脚本命令启动、停止程序「建议收藏」我们经常部署SpringBoot应用,一般将应用打包成jar包的方式上传至服务器,通过命令启动程序,我们每次都需要去手动敲命令来控制程序的启停,容易出错,我们可以通过脚本的方式,记住一些常用的命令1、后端启动nohupjava-jartest-1.0.jar>nohup.out2>&1&启动后,并将日志输出到nohup.out文件中2、修改配置启动nohupjava-jartest-1.0.jar–server.port=8081

    2022年9月7日
    0
  • 实验:ospf与BFD联动实验(EVE模拟器-Cisco)「建议收藏」

    实验:ospf与BFD联动实验(EVE模拟器-Cisco)「建议收藏」一、实验拓扑二、实验要求请完成以下需求:1、设备互联地址如拓扑所示;2、R1与R2、R2与R4、R1与R4之间运行OSPF,互联地址建邻,协议号123;3、配置bfd与ospf联动,并观察其bfd配置之后有何效果。三、实验配置过程1、配置AR1、2、3的IP地址AR1:hostnameAR1//修改名称interfaceGigabitEthernet0/0//进入接口ipaddress20.0.0.1255.255.255.0//配置IPAR2:hostname

    2022年5月3日
    58
  • 宽度学习(Broad Learning System)

    宽度学习(Broad Learning System)宽度学习系统(BLS)一词的提出源于澳门大学科技学院院长陈俊龙于2018年1月发表的《BroadLearningSystem:AnEffectiveandEfficientIncrementalLearningSystemWithouttheNeedforDeepArchitecture》

    2022年5月22日
    33
  • 面试官:说下什么是TCP 的粘包和拆包?

    面试官:说下什么是TCP 的粘包和拆包?

    2022年2月20日
    51

发表回复

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

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