Поделиться через


Агрегатные функции (язык Entity SQL)

Поставщик данных .NET Framework для SQL Server (SqlClient) предоставляет агрегатные функции. Агрегатные функции выполняют вычисления на наборе входных значений и возвращают значение. Эти функции находятся в пространстве имен SqlServer, которое доступно при использовании SqlClient. Свойство пространства имен поставщика позволяет платформе Entity Framework узнать, какой префикс используется поставщиком для конкретных конструкций, таких как типы или функции.

В следующей таблице описаны агрегатные функции SqlClient.

Функция Описание

AVG( expression )

Возвращает среднее значение для значений в коллекции.

Значения NULL не учитываются.

Аргументы

Имеют типы Int32, Int64, Double и Decimal.

Возвращаемое значение

Тип 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 — один из следующих типов:

Guid (не возвращен в SQL Server 2000),

Boolean, Double, DateTime, DateTimeOffset, Time, String или Binary.

Возвращаемое значение

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 — один из следующих типов:

Guid (не возвращается в SQL Server 2000), Boolean, Double, DateTime, DateTimeOffset, Time, String или Binary.

Возвращаемое значение

Тип Int64.

Пример

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

MAX( expression )

Возвращает максимальное значение, содержащееся в коллекции.

Аргументы

Collection (T), где T может быть любым из следующих типов: Byte, Int16, Int32, Int64, Byte, Single, Double, Decimal, DateTime, DateTimeOffset, Time, String, Binary.

Возвращаемое значение

Тип expression.

Пример

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

MIN( expression )

Возвращает минимальное значение в коллекции.

Аргументы

Collection (T), где T может быть любым из следующих типов: Byte, Int16, Int32, Int64, Byte, Single, Double, Decimal, 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( expression )

Возвращает сумму всех значений в коллекции.

Аргументы

Collection (T), где T может быть любым из следующих типов: Int32, Int64, Double, Decimal.

Возвращаемое значение

Тип 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) 

Дополнительные сведения об агрегатных функциях, поддерживаемых SqlClient, см. в документации к версии SQL Server, указанной в манифесте поставщика SqlClient.

SQL Server 2000 SQL Server 2005 SQL Server 2008

Агрегатные функции (Transact-SQL)

Агрегатные функции (Transact-SQL)

Агрегатные функции (Transact-SQL)

См. также

Справочник

Канонические статистические функции (язык Entity SQL)

Основные понятия

Язык Entity SQL