SQL Server的各种聚合函数

聚合函数是对一组值执行计算并返回单一的值的函数,它经常与SELECT语句的GROUP BY子句一同使用,SQL SERVER 中具体有哪些聚合函数呢?我们来一一看一下: 1. AVG 返回指定组中的平均值,空值被忽略。 例:select prd_no,avg(qty) from sales group by prd_no

2. COUNT 返回指定组中项目的数量。 例:select count(prd_no) from sales

3. MAX 返回指定数据的最大值。 例:select prd_no,max(qty) from sales group by prd_no

4. MIN 返回指定数据的最小值。 例:select prd_no,min(qty) from sales group by prd_no

5. SUM 返回指定数据的和,只能用于数字列,空值被忽略。 例:select prd_no,sum(qty) from sales group by prd_no

6. COUNT_BIG 返回指定组中的项目数量,与COUNT函数不同的是COUNT_BIG返回bigint值,而COUNT返回的是int值。 例: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

时间: 2024-08-24 01:36:33

SQL Server的各种聚合函数的相关文章

sql server 2012 自定义聚合函数(MAX_O3_8HOUR_ND) 计算最大的臭氧8小时滑动平均值

采用c#开发dll,并添加到sql server 中. 具体代码,可以用visual studio的向导生成模板. using System; using System.Collections; using System.Data; using Microsoft.SqlServer.Server; using System.Data.SqlTypes; using System.IO; using System.Text; [Serializable] [Microsoft.SqlServer

Sql Server系列:聚合函数

1. SUM SUM是一个求和函数,返回指定列值的总和.SUM 只能用于数字列. 其中忽略 Null 值. 语法: SUM ( [ ALL | DISTINCT ] expression ) OVER ( [ partition_by_clause ] order_by_clause ) 示例: SELECT SUM([UnitsInStock]) FROM [dbo].[Product] SELECT SUM(DISTINCT([UnitsInStock])) FROM [dbo].[Prod

SQL Server 进制转换函数

一.背景 前段时间群里的朋友问了一个问题:“在查询时增加一个递增序列,如:0x00000001,即每一个都是36进位(0—9,A--Z),0x0000000Z后面将是0x00000010,生成一个像下面的映射表“: (Figure1:效果图) 二.十进制转换为十六进制 在网上有很多资料关于使用SQL语句把十进制转换为十六进制的资料,比如: --方式1 SELECT CONVERT(VARBINARY(50), 23785) 执行返回值为0x00005CE9,但是需要注意的是,这本应该返回二进制的

SQL Server ->> FIRST_VALUE和LAST_VALUE函数

两个都是SQL SERVER 2012引入的函数.用于返回在以分组和排序后取得最后一行的某个字段的值.很简单两个函数.ORDER BY字句是必须的,PARITION BY则是可选. 似乎没什么好说的.结果在测试LAST_VALUE函数的时候有个问题. 下面是测试脚本 ;with t as (SELECT TOP 100 ROW_NUMBER() OVER(ORDER BY column_id) as num FROM sys.columns) select num, num/10 as grp_

SQL Server中的CLR编程——用.NET为SQL Server编写存储过程和函数

原文:SQL Server中的CLR编程--用.NET为SQL Server编写存储过程和函数 很早就知道可以用.NET为SQL Server2005及以上版本编写存储过程.触发器和存储过程的,不过之前开发的系统要么因为历史原因用的是SQL2000要么根本用不着在SQL Server中启用CLR,所以一直没有尝试.最近因为项目的原因,在这方面做了一个调研,现在在这里分享一下心得. 首先要说明的是要在SQL Server中启用CLR必须是在SQL Server2005及以上版本,其次在默认情况下是

SQL Server 验证身份证合法性函数(使用VBScript.RegExp)

原文:SQL Server 验证身份证合法性函数(使用VBScript.RegExp) 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/wzy0623/article/details/53895680 -- 建立正则表达式测试函数 CREATE FUNCTION dbo.RegExpTest ( @source VARCHAR(5000), --需要匹配的源字符串 @regexp VARCHAR(1000), --正则表达式 @ignorecas

sql server中的开窗函数over、视图、事物

一.开窗函数over的作用有两个: 1.排序order by,row_number,翻页 2.划区partition by,结合聚合函数针对某部分数据进行汇总 翻页的sql server 语句: select * from ( select *,row_number() over( order by id) as num from 表名) as t where t.num>6 and t.num<10 二.视图:用于存储一个select语句.并不是存储数据的一个容器. create view

SQL Server 2008 R2 系统函数学习

/******************************************* * 聚合函数 *******************************************/ SELECT AVG(id) AS Average FROM school AS s --返回组中各值的平均值 * SELECT BINARY_CHECKSUM(id) FROM school AS s --返回按照表的某一行或一组表达式计算出来的二进制校验和值 SELECT CHECKSUM(id) F

SQL SERVER 中的 object_id()函数

在数据库中有一个系统表sysobjects,里面存储了数据库各个对象的信息.可以查询下看看结果.可以看出每个对象都有一个ID,这个表存储了表,存储过程,触发器,视图等相关信息.注意:字段没有. object_id就是根据对象名称返回该对象的id.  object_name是根据对象id返回对象名称. select object_id(对象名)等同于:  select id from sysobjects where name=对象名 select object_name(id号)等同于:  se