SQLServer系列(二):系统函数之聚合函数

聚合函数:指对一组值执行计算,并返回单个值。除了 Count(统计函数) 外,聚合函数都会忽略 Null 值

聚合函数经常与 SELECT 语句的 GROUP BY 子句一起使用

1.Avg():返回数值列的平均值

   示例如下:

1 --返回组中各值的平均值
2 select avg(column_name) from table_name

 2.Count():返回组中找到的项数量,计数

示例如下:

1 --COUNT(*) 返回组中的项数。 包括 NULL 值和重复项
2 --COUNT(ALL expression) 计算组中每行的 expression,然后返回非 null 值的数量 
3 --COUNT (DISTINCT expression) 计算组中每行的 expression,然后返回独一无二的非 null 值的数量 
4 select count(column_name) from table_name

3.Sum():求和

示例如下:

1 --返回表达式中所有值的和或仅非重复值的和
2 --只能用于数列
3 select sum(column_name) from table_name 

4.Max():最大值

示例如下:

1 --返回表达式中的最大值
2 select max(column_name) from table_name

5.Min():最小值

示例如下:

1 --返回表达式中的最小值
2 select min(column_name) from table_name

6.Count_Big():计数  返回类型bigint

示例如下:

1 --返回组中找到的项数量,与count函数类似
2 --返回类型是bigint
3 select count_big(column_name) from table_name

注:还有部分聚合函数就不说明,实际工作中应用场景很少看到

具体可以看:https://docs.microsoft.com/zh-cn/sql/t-sql/functions/grouping-transact-sql?view=sql-server-2017

7.聚合函数结合group by (分组)使用

示例如下:

1 --当使用到聚合函数时,列必须包含在聚合函数,或者group by 子句中
2 select column_name1,max(column_name2) from table_name group by column_name1

8.对(group by)分组后的数据进行筛选(Having)

示例如下:

--having 指定组或聚合的搜索条件
select column_name1,max(column_name2),sum(column_name3) from table_name
 group by column_name1  having sum(column_name3)> integer_expression
原文地址:https://www.cnblogs.com/vic-tory/p/12178319.html