Канонические статистические функции (язык Entity SQL)
Статистические выражения — выражения, которые уменьшают количество входных значений, например, до одного значения. Статистические выражения обычно используются совместно с предложением группирования GROUP BY выражения SELECT, а на область их использования накладываются ограничения.
В следующей таблице приведены канонические статистические функции языка Entity SQL .
Функция | Описание |
---|---|
Avg( expression ) |
Возвращает среднее для значений, отличных от NULL. Аргументы Имеют типы Int32, Int64, Double и Decimal. Возвращаемое значение Тип expression. Возвращает Null, если все входные значения представляют собой значения null. Пример
|
BigCount( expression ) |
Возвращает объем данных, подвергаемых статистической обработке, включая значения NULL и повторяющиеся значения. Аргументы Любой тип. Возвращаемое значение Тип Int64. Пример
|
Count( expression ) |
Возвращает объем данных, подвергаемых статистической обработке, включая значения NULL и повторяющиеся значения. Аргументы Любой тип. Возвращаемое значение Int32. Пример
|
Max( expression ) |
Возвращает максимум для значений, отличных от NULL. Аргументы Данные типа Byte, Int16, Int32, Int64, Byte, Single, Double, Decimal, DateTime, DateTimeOffset, Time, String, Binary. Возвращаемое значение Тип expression. Возвращает Null, если все входные значения представляют собой значения null. Пример
|
Min( expression ) |
Возвращает минимум для значений, отличных от NULL. Аргументы Значения типа Byte, Int16, Int32, Int64, Byte, Single, Double, Decimal, DateTime, DateTimeOffset, Time, String, Binary. Возвращаемое значение Тип expression. Возвращает Null, если все входные значения представляют собой значения null. Пример
|
StDev( expression ) |
Возвращает стандартное отклонение для значений, отличных от NULL. Аргументы Имеют типы Int32, Int64, Double и Decimal. Возвращаемое значение Объект Double. Возвращает Null, если все входные значения представляют собой значения null. Пример
|
StDevP( expression ) |
Возвращает стандартное отклонение для заполнения по всем значениям. Аргументы Имеют типы Int32, Int64, Double и Decimal. Возвращаемое значение Объект Double. Возвращает Null, если все входные значения представляют собой значения null. Пример
|
Sum( expression ) |
Возвращает сумму для значений, отличных от NULL. Аргументы Имеют типы Int32, Int64, Double и Decimal. Возвращаемое значение Объект Double. Возвращает Null, если все входные значения представляют собой значения null. Пример
|
Var( expression ) |
Возвращает дисперсию всех значений, отличных от NULL. Аргументы Имеют типы Int32, Int64, Double и Decimal. Возвращаемое значение Объект Double. Возвращает Null, если все входные значения представляют собой значения null. Пример
|
VarP( expression ) |
Возвращает дисперсию для заполнения по всем значениям, отличным от NULL. Аргументы Имеют типы Int32, Int64, Double и Decimal. Возвращаемое значение Объект Double. Возвращает Null, если все входные значения представляют собой значения null. Пример
|
Эквивалентную функциональность предоставляет управляемый поставщик клиента 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 (или не указан никакой модификатор), то исключение повторяющихся значений не выполняется.