mssql sqlserver sql数据群组及聚合函数简介


摘要:
下文将讲述sql数据群组中,常用的群组及聚合函数


分组函数常常同聚合函数一起组合使用,来达到获取分组数据的相关值,
下文将讲述聚合函数和数据分组函数的用法

聚合函数:
1:max([表达式]):求表达式 —所有行中的最大值
2:min([表达式]):求表达式 —所有行中的最小值
3:sum([表达式]):求表达式 —所有行之和
4:avg([表达式]):求表达式 —所有行的平均值
5:count([表达式]):求expr的个数—行数
[表达式]不能为null ,如果为null,则不会计入count的值里面
————————————————–
分组条件关键字group by:
group by 关键字后面需放入分组数据的列
例:我们根据”产品名称”分组,后面则需要加入”产品名称”
需根据多列进行分组,group by后面需加入多列
————————————————–
分组聚合筛选 having count(*)/min(*)/max(*)/sum(*)/avg(*) :
having 的功能类似于where :
当我们在使用聚合函数分组数据时,如果需对聚合数据进行过滤时,此时只能使用having *** 而不可以使用where 来作为限定条件。


例:

create table A  (name varchar(20),qty int )
go
insert into A(name,qty)values('a',1),('a',101),
('b',100),('b',145),('c',98),('c',13),('d',29)
go
/*聚合函数批量用法简介*/
select  name,
sum(qty) as  [数量之和],
avg(qty)  as [数量平均数]
from A  group by name   ---根据name分组
having sum(qty)>20 
---输入聚合过滤条件sum(qty)>20
go
truncate table A
drop     table A 
mssql_sqlserver_数据分组函数简介

mssql_sqlserver_数据分组函数简介