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

Статистические выражения — выражения, которые уменьшают количество входных значений, например, до одного значения. Статистические выражения обычно используются совместно с предложением группирования GROUP BY выражения SELECT, а на область их использования накладываются ограничения.

В следующей таблице приведены канонические статистические функции языка Entity SQL .

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

Avg( expression )

Возвращает среднее для значений, отличных от NULL.

Аргументы

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

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

Тип expression. Возвращает Null, если все входные значения представляют собой значения null.

Пример

SELECT VALUE AVG(p.ListPrice) FROM AdventureWorksEntities.Products as p 

BigCount( expression )

Возвращает объем данных, подвергаемых статистической обработке, включая значения NULL и повторяющиеся значения.

Аргументы

Любой тип.

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

Тип Int64.

Пример

SELECT VALUE BigCount(p.ProductID) FROM AdventureWorksEntities.Products as p 

Count( expression )

Возвращает объем данных, подвергаемых статистической обработке, включая значения NULL и повторяющиеся значения.

Аргументы

Любой тип.

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

Int32.

Пример

SELECT VALUE Count(p.ProductID) FROM AdventureWorksEntities.Products as p 

Max( expression )

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

Аргументы

Данные типа Byte, Int16, Int32, Int64, Byte, Single, Double, Decimal, DateTime, DateTimeOffset, Time, String, Binary.

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

Тип expression. Возвращает Null, если все входные значения представляют собой значения null.

Пример

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

Min( expression )

Возвращает минимум для значений, отличных от NULL.

Аргументы

Значения типа Byte, Int16, Int32, Int64, Byte, Single, Double, Decimal, DateTime, DateTimeOffset, Time, String, Binary.

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

Тип expression. Возвращает Null, если все входные значения представляют собой значения null.

Пример

SELECT VALUE MIN(p.ListPrice) FROM AdventureWorksEntities.Products as p 

StDev( expression )

Возвращает стандартное отклонение для значений, отличных от NULL.

Аргументы

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

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

Объект Double. Возвращает Null, если все входные значения представляют собой значения null.

Пример

SELECT VALUE StDev(product.ListPrice) 
FROM AdventureWorksEntities.Products AS product 
where product.ListPrice > @price

StDevP( expression )

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

Аргументы

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

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

Объект Double. Возвращает Null, если все входные значения представляют собой значения null.

Пример

SELECT VALUE StDevP(product.ListPrice) 
FROM AdventureWorksEntities.Products AS product 
where product.ListPrice > @price

Sum( expression )

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

Аргументы

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

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

Объект Double. Возвращает Null, если все входные значения представляют собой значения null.

Пример

SELECT VALUE Sum(p.ListPrice) FROM AdventureWorksEntities.Products as p 

Var( expression )

Возвращает дисперсию всех значений, отличных от NULL.

Аргументы

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

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

Объект Double. Возвращает Null, если все входные значения представляют собой значения null.

Пример

SELECT VALUE Var(product.ListPrice) 
FROM AdventureWorksEntities.Products AS product 
WHERE product.ListPrice > @price

VarP( expression )

Возвращает дисперсию для заполнения по всем значениям, отличным от NULL.

Аргументы

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

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

Объект Double. Возвращает Null, если все входные значения представляют собой значения null.

Пример

SELECT VALUE VarP(product.ListPrice) 
FROM AdventureWorksEntities.Products AS product 
WHERE product.ListPrice > @price

Эквивалентную функциональность предоставляет управляемый поставщик клиента Microsoft SQL. Дополнительные сведения см. в разделе Функции поставщика данных .NET Framework для SQL Server (SqlClient) на платформе Entity Framework.

Статистические функции на основе коллекций

Статистические функции на основе коллекций (функции коллекций) работают с коллекциями и возвращают значение. Например, если ORDERS — коллекция всех заказов, то можно рассчитать самую раннюю дату отгрузки с использованием следующего выражения:

min(select value o.ShipDate from LOB.Orders as o)

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

Статистические функции на основе групп

Статистические функции на основе групп вычисляются для группы, определенной предложением GROUP BY. Для каждой группы результата выполняется отдельное статистическое вычисление с использованием элементов каждой группы в качестве входных значений. Если в выражении SELECT используется предложение группирования, в проекции или предложении сортировки могут употребляться только имена выражений группирования, статистические функции или константные выражения.

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

select p, avg(ol.Quantity) from LOB.OrderLines as ol
  group by ol.Product as p

Возможна статистическая функция на основе групп без явного предложения группирования в выражении SELECT. В этом случае все элементы будут обрабатываться как одна группа. Это эквивалентно группированию на основе константы. Например, выражение:

select avg(ol.Quantity) from LOB.OrderLines as ol

Оно эквивалентно следующему выражению:

select avg(ol.Quantity) from LOB.OrderLines as ol group by 1

Выражения внутри статистической функции на основе групп вычисляются в области разрешения имен, видимой для выражения предложения WHERE.

Как и в Transact-SQL , статистические функции на основе групп могут также задавать модификатор ALL или DISTINCT. Если задан модификатор DISTINCT, то перед вычислением статистической функции из входного набора исключаются повторяющиеся значения. Если задан модификатор ALL (или не указан никакой модификатор), то исключение повторяющихся значений не выполняется.

См. также

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

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