聚合函数(用于实体框架的 SqlClient)

SQL Server .NET Framework 数据提供程序 (SqlClient) 提供聚合函数。 聚合函数对一组输入值执行计算并返回一个值。 这些函数位于 SqlServer 命名空间中,该命名空间在您使用 SqlClient 时可用。 提供程序的命名空间属性使实体框架可以确定此提供程序对特定构造(如类型和函数)使用哪个前缀。

下面是 SqlClient 聚合函数。

AVG(表达式)

返回集合中各值的平均值。 Null 值会被忽略。

参数

Int32Int64DoubleDecimal

返回值

expression 的类型。

示例

SELECT VALUE SqlServer.AVG(p.ListPrice) 
FROM AdventureWorksEntities.Products AS p 

CHECKSUM_AGG(collection)

返回集合中各值的校验和。 Null 值会被忽略。

参数

一个 Collection(Int32)。

返回值

Int32

示例

SELECT VALUE SqlServer.Checksum_Agg(cast(product.ListPrice AS Int32)) 
FROM AdventureWorksEntities.Products AS product 
WHERE product.ListPrice > cast(@price AS Decimal) 

COUNT(expression)

Int32 形式返回集合中的项数。

参数

一个 Collection<T>,其中 T 为以下类型之一:

  • Boolean
  • Double
  • DateTime
  • DateTimeOffset
  • Time
  • String
  • Binary
  • Guid(在 SQL Server 2000 中不返回)

返回值

Int32

示例

ANYELEMENT(SELECT VALUE SqlServer.COUNT(product.ProductID) 
FROM AdventureWorksEntities.Products AS product 
WHERE SqlServer.CEILING(product.ListPrice) == 
SqlServer.FLOOR(product.ListPrice)) 

COUNT_BIG(expression)

bigint 形式返回集合中的项数。

参数

一个 Collection(T),其中 T 为以下类型之一:

  • Boolean
  • Double
  • DateTime
  • DateTimeOffset
  • Time
  • String
  • Binary
  • Guid(在 SQL Server 2000 中不返回)

返回值

Int64

示例

ANYELEMENT(SELECT VALUE SqlServer.COUNT_BIG(product.ProductID) 
FROM AdventureWorksEntities.Products AS product 
WHERE SqlServer.CEILING(product.ListPrice) == 
SqlServer.FLOOR(product.ListPrice)) 

MAX(表达式)

返回集合中的最大值。

参数

一个 Collection(T),其中 T 为以下类型之一:

  • Boolean
  • Double
  • DateTime
  • DateTimeOffset
  • Time
  • String
  • Binary

返回值

expression 的类型。

示例

SELECT VALUE SqlServer.MAX(p.ListPrice) 
FROM AdventureWorksEntities.Products AS p

MIN(表达式)

返回集合中的最小值。

参数

一个 Collection(T),其中 T 为以下类型之一:

  • Boolean
  • Double
  • DateTime
  • DateTimeOffset
  • Time
  • String
  • Binary

返回值

expression 的类型。

示例

SELECT VALUE SqlServer.MIN(p.ListPrice) 
FROM AdventureWorksEntities.Products AS p

STDEV(expression)

返回指定表达式中所有值的标准偏差。

参数

一个 Collection(Double)。

返回值

一个 Double

示例

SELECT VALUE SqlServer.STDEV(product.ListPrice) 
FROM AdventureWorksEntities.Products AS product 
WHERE product.ListPrice > cast(@price AS Decimal) 

STDEVP(expression)

返回指定表达式中所有值的总体标准偏差。

参数

一个 Collection(Double)。

返回值

一个 Double

示例

SELECT VALUE SqlServer.STDEVP(product.ListPrice) 
FROM AdventureWorksEntities.Products AS product 
WHERE product.ListPrice > cast(@price AS Decimal) 

SUM(表达式)

返回集合中所有值的总和。

参数

一个 Collection(T),其中 T 为以下类型之一:Int32Int64DoubleDecimal

返回值

expression 的类型。

示例

SELECT VALUE SqlServer.SUM(p.ListPrice) 
FROM AdventureWorksEntities.Products AS p

Var(expression)

返回指定表达式中所有值的方差。

参数

一个 Collection(Double)。

返回值

一个 Double

示例

SELECT VALUE SqlServer.VAR(product.ListPrice) 
FROM AdventureWorksEntities.Products AS product 
WHERE product.ListPrice > cast(@price AS Decimal) 

VARP(expression)

返回指定表达式中所有值的总体统计方差。

参数

一个 Collection(Double)。

返回值

一个 Double

示例

SELECT VALUE SqlServer.VARP(product.ListPrice) 
FROM AdventureWorksEntities.Products AS product 
WHERE product.ListPrice > cast(@price AS Decimal) 

请参阅