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


Статистические функции (SqlClient для Entity Framework)

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

Ниже приведены агрегатные функции SqlClient.

AVG(выражение)

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

Аргументы

Int64, Int32, Doubleи Decimal.

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

Тип параметра expression.

Пример

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

CHECKSUM_AGG(коллекция)

Возвращает контрольную сумму значений в коллекции. Значения NULL пропускаются.

Аргументы

Коллекция(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.

Аргументы

Коллекция<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(выражение)

Возвращает число элементов в коллекции в виде bigint.

Аргументы

Коллекция(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(expression)

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

Аргументы

Коллекция(T), где T относится к одному из следующих типов:

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

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

Тип параметра expression.

Пример

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

MIN(expression)

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

Аргументы

Коллекция(T), где T относится к одному из следующих типов:

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

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

Тип параметра expression.

Пример

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

STDEV(expression)

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

Аргументы

Коллекция(Double).

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

Double.

Пример

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

STDEVP(expression)

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

Аргументы

Коллекция(Double).

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

Double.

Пример

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

SUM(expression)

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

Аргументы

Коллекция(T), где T является одним из следующих типов: Int32, Int64, Double, . Decimal

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

Тип параметра expression.

Пример

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

VAR(выражение)

Возвращает статистическую дисперсию всех значений в указанном выражении.

Аргументы

Коллекция(Double).

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

Double.

Пример

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

VARP(expression)

Возвращает статистическую дисперсию для заполнения всех значений в указанном выражении.

Аргументы

Коллекция(Double).

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

Double.

Пример

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

См. также раздел