首页 > 代码库 > Sql Server系列:聚合函数

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].[Product]

  SUM可以与GROUP BY一起使用,计算每个分组的总和。

SELECT [CategoryID],SUM([UnitsInStock])FROM [dbo].[Product]GROUP BY [CategoryID]

2. AVG

  返回组中各值的平均值。 其中忽略 Null 值。

  语法:

AVG ( [ ALL | DISTINCT ] expression )   OVER ( [ partition_by_clause ] order_by_clause )  

  示例:

SELECT AVG([UnitsInStock]) FROM [dbo].[Product]
SELECT [CategoryID],AVG([UnitsInStock])FROM [dbo].[Product]GROUP BY [CategoryID]

3. MAX

  返回表达式中的最大值。

  语法:

MAX ( [ ALL | DISTINCT ] expression )   OVER ( [ partition_by_clause ] order_by_clause )  

  示例:

SELECT MAX([UnitsInStock]) FROM [dbo].[Product]
SELECT [CategoryID],MAX([UnitsInStock])FROM [dbo].[Product]GROUP BY [CategoryID]

4. MIN

  返回表达式中的最小值。

  语法:

MIN ( [ ALL | DISTINCT ] expression )   OVER ( [ partition_by_clause ] order_by_clause )  

  示例:

SELECT MIN([UnitsInStock]) FROM [dbo].[Product]
SELECT [CategoryID],MIN([UnitsInStock])FROM [dbo].[Product]GROUP BY [CategoryID]

6. COUNT

  返回组中的项数。 COUNT 与 COUNT_BIG 函数类似。 两个函数唯一的差别是它们的返回值。 COUNT 始终返回 int 数据类型值。 COUNT_BIG 始终返回 bigint 数据类型值。

  语法:

COUNT ( { [ [ ALL | DISTINCT ] expression ] | * } )     OVER ( [ partition_by_clause ] order_by_clause )

  示例:

SELECT COUNT([UnitsInStock]) FROM [dbo].[Product]
SELECT [CategoryID],COUNT([UnitsInStock])FROM [dbo].[Product]GROUP BY [CategoryID]

Sql Server系列:聚合函数