sqlserver中的聚合函数

聚合函数:就是按照一定的规则将多行(Row)数据汇总成一行的函数,对数据进行汇总前,还可以按特定的列(coloumn)将数据进行分组(group by)再汇总,然后按照再次给定的条件进行筛选

一:Count函数
1 SELECT COUNT(Birthday) FROM customer
2 SELECT COUNT(*) FROM customer
3 SELECT COUNT(1) FROM customer
1和2区别:使用具体列名作为参数,该列不会计算该列的null值计算在Count之内
2和3都会计算null,并且获取全部的数量
在count内也可以使用 distinct将每一列的每个相同的值只计算一次数量

二:Avg(),Sum(),Max()和Min()函数
这几个函数除了功能不同,语法和参数都相同

having子句:
having子句后面不能跟在select语句中出现的别名,而必须将select语句内的表达式再写一遍
也就是说:having子句后面不能跟 在select语句中出现的别名,或者变量名
当然having子句最强大的地方在于其可以使用聚合函数作为表达式,这是where子句不允许的

使用好聚合函数可以将很多放在应用程序业务层的任务转到数据库来做,这对性能和维护有很大好处

时间: 2024-12-28 10:53:56

sqlserver中的聚合函数的相关文章

oracle中的聚合函数count、max、min、sum、avg以及NVL函数的用法

oracle中的聚合函数count.max.min.sum.avg以及NVL函数的用法 分组函数聚合函数对一组行中的某个列执行计算执行计算并返回单一的值.聚合函数忽略空值.聚合函数经常与 SELECT 语句的 GROUP BY 子句一同使用,所以有的时候也把其称之为分组函数.这类函数通常应用于报表统计中,以下展示Oracle常用的聚合函数的应用. 分组函数的介绍 作用于一组数据,并对一组数据返回一个值. 常见的分组函数有: Count 用来计算有效数据的数量 Min 返回一个数字列或计算列的最小

05 LINQ中的聚合函数Part-2

LINQ中的聚合函数最常用的有Sum(),Average(),Max(),Min().顾名思义,这些聚合函数分别用于获取记录集中的“总和”.“平均数”.“最大值”.“最小值”.这些函数的使用也非常简单,下面举例介绍. 1) Sum() List<int> intInList = new List<int>() { 1, 3, 3, 2, 7, 8, 4, 5, 6, 3, 9 }; int sumOfList = intInList.Sum(); Console.WriteLine

Mysql中使用聚合函数对null值的处理

平时因为对于数据库研习的不深,所以在面试的时候问了一些平常遇到过的问题居然没法很肯定地回答出来,实在让自己很恼怒! 这次让我记忆深刻的一个问题是: 在mysql中使用聚合函数的时候比如avg(t),t是表中一个类型int型的字段,可为null,有三行数据,三行中的数据分别为:10,null,20,请问最后的结果是什么? 我的回答是15,在面试结束之后我尝试了一下结果没错,不过我对于聚集函数对null的处理貌似错了,我认为是聚合函数会将null值看作0,找了一番,博客中都认为是忽略null值,因为

SQLSERVER中的 CEILING函数和 FLOOR函数

--SQLSERVER中的 CEILING函数和 FLOOR函数 --ceiling函数返回大于或等于所给数字表达式的最小整数. --floor函数返回小于或等于所给数字表达式的最大整数. --比如: --celling(12.1) 结果为 13 SELECT CEILING(12.2) --floor(12.1)结果为 12 SELECT FLOOR(12.3)

在MongoDB中实现聚合函数

在MongoDB中实现聚合函数 随着组织产生的数据爆炸性增长,从GB到TB,从TB到PB,传统的数据库已经无法通过垂直扩展来管理如此之大数据.传统方法存储和处理数据的成本将会随着数据量增长而显著增加.这使得很多组织都在寻找一种经济的解决方案,比如NoSQL数据库,它提供了所需的数据存储和处理能力.扩展性和成本效率.NoSQL数据库不使用SQL作为查询语言.这种数据库有多种不同的类型,比如文档结构存储.键值结构存储.图结构.对象数据库等等. 我们在本文中使用的NoSQL是MongoDB,它是一种开

SQLServer中间接实现函数索引或者Hash索引

本文出处:http://www.cnblogs.com/wy123/p/6617700.html SQLServer中没有函数索引,在某些场景下查询的时候要根据字段的某一部分做查询或者经过某种计算之后做查询,如果使用函数或者其他方式作用在字段上之后,就会限制到索引的使用,不过我们可以间接地实现类似于函数索引的功能.另外一个就是如果查询字段较大或者字段较多的时候,所建立的索引就显得有点笨重,效率也不高,就需要考虑使用一个较小的"替代性"字段做等价替换,类似于Hash索引,本文粗浅地介绍两

SQLserver中常用的函数及实例

聚合函数 as是可以起别名的,在select和from之间的是表示列名,可以不加单引号)(聚合函数中的count不仅能对数字进行操作还能对字符型进行操作,其余的只能对数字操作) 最小值 select  MIN(jiage) as 价格 from shuiguo --求最低价格 select  MIN(jiage) as 价格 from shuiguo --求最低价格 最大值 select MAX(jiage) as 价格 from shuiguo --求最高的价格 总数 select COUNT

SQLserver中常见的函数

---字符中操作函数 UPPER(S) 将字符串统一为大写字母 SELECT UPPER('asasA') --ASASA LOWER(S) 将字符串统一为小写字母 SELECT LOWER('asasA') ---asasa LEN(S) 返回字符串的长度 SELECT LEN('中国1号') --4 CHARINDEX(S1,S2) 返回S1在字符串S2中的位置 SELECT CHARINDEX('aa1号','1111aa1号中国1号') --5 SUBSTRING(S,I,N) 在S字符

oracle语句中的聚合函数以及分组group by的使用实例

1 create table t_class2( 2 name varchar2(255), 3 subject varchar2(255), 4 score integer, 5 stuid integer 6 ) 7 8 insert into t_class2 values('张三','数学',89,1); 9 insert into t_class2 values('张三','语文',80,1); 10 insert into t_class2 values('张三','英语',70,1