STDEVP (Transact-SQL)
Область применения: SQL Server База данных SQL Azure Управляемый экземпляр SQL Azure конечной точке аналитики платформы Аналитики Azure Synapse Analytics (PDW) в Microsoft Fabric Хранилище в Microsoft Fabric
Возвращает статистическое стандартное отклонение совокупности всех значений в указанном выражении.
Соглашения о синтаксисе Transact-SQL
Синтаксис
-- Aggregate Function Syntax
STDEVP ( [ ALL | DISTINCT ] expression )
-- Analytic Function Syntax
STDEVP ([ ALL ] expression) OVER ( [ partition_by_clause ] order_by_clause)
Аргументы
ALL
Применяет функцию ко всем значениям. ALL является параметром по умолчанию.
DISTINCT
Указывает, что учитывается каждое уникальное значение.
выражение
Числовое выражение. Агрегатные функции и вложенные запросы не допускаются. expression — выражение категории точного числового или приблизительного числового типа данных, за исключением типа данных bit.
OVER ( [ partition_by_clause ] order_by_clause)
partition_by_clause делит результирующий набор, полученный с помощью предложения FROM, на секции, к которым применяется функция. Если этот параметр не указан, функция обрабатывает все строки результирующего набора запроса как отдельные группы. order_by_clause определяет логический порядок, в котором выполняется операция. Аргумент order_by_clause является обязательным. Дополнительные сведения см. в статье Предложение OVER (Transact-SQL).
Типы возвращаемых данных
float
Замечания
Если STDEVP используется на всех элементах в инструкции SELECT, каждое значение в результирующем наборе включается в вычисление. Функцию STDEVP можно использовать только для числовых столбцов. Значения NULL пропускаются.
STDEVP — это детерминированная функция, если она используется без предложений OVER и ORDER BY. Она не детерминирована при использовании с предложениями OVER и ORDER BY. Дополнительные сведения см. в разделе Deterministic and Nondeterministic Functions.
Примеры
А. Использование функции STDEVP
В следующем примере возвращается стандартное отклонение для совокупности для всех значений бонусов в таблице базы SalesPerson
данных AdventureWorks2022.
SELECT STDEVP(Bonus)
FROM Sales.SalesPerson;
GO
Примеры: Azure Synapse Analytics и система платформы аналитики (PDW)
Б. Использование функции STDEVP
В приведенном ниже примере возвращается результат STDEVP
для значений квот на продажу в таблице dbo.FactSalesQuota
. Первый столбец содержит стандартное отклонение всех уникальных значений, а второй — стандартное отклонение всех значений, включая повторяющиеся.
-- Uses AdventureWorks
SELECT STDEVP(DISTINCT SalesAmountQuota)AS Distinct_Values, STDEVP(SalesAmountQuota) AS All_Values
FROM dbo.FactSalesQuota;SELECT STDEVP(DISTINCT Quantity)AS Distinct_Values, STDEVP(Quantity) AS All_Values
FROM ProductInventory;
Вот результирующий набор.
Distinct_Values All_Values
---------------- ----------------
397676.79 397226.44
В. Использование STDEVP с предложением OVER
В приведенном ниже примере возвращается результат STDEVP
для значений квот на продажу в каждом квартале календарного года. Обратите внимание, что ключевое слово ORDER BY
в предложении OVER
упорядочивает STDEVP
, а ORDER BY
в инструкции SELECT
— результирующий набор.
-- Uses AdventureWorks
SELECT CalendarYear AS Year, CalendarQuarter AS Quarter, SalesAmountQuota AS SalesQuota,
STDEVP(SalesAmountQuota) OVER (ORDER BY CalendarYear, CalendarQuarter) AS StdDeviation
FROM dbo.FactSalesQuota
WHERE EmployeeKey = 272 AND CalendarYear = 2002
ORDER BY CalendarQuarter;
Вот результирующий набор.
Year Quarter SalesQuota StdDeviation
---- ------- ---------------------- -------------------
2002 1 91000.0000 0.00
2002 2 140000.0000 24500.00
2002 3 70000.0000 29329.55
2002 4 154000.0000 34426.55
См. также
Агрегатные функции (Transact-SQL)
Предложение OVER (Transact-SQL)