SQLServer系统函数之聚合函数

Posted QQ:359855043

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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
技术图片

以上是关于SQLServer系统函数之聚合函数的主要内容,如果未能解决你的问题,请参考以下文章

SqlServer如何用Sql语句自定义聚合函数

SqlServer聚合函数

07-SQLSERVER聚合函数

SqlServer函数的聚合函数

SqlServer--聚合函数

C#怎么调用sqlserver的自定义函数