STDEV (Transact-SQL)
Область применения: SQL Server База данных SQL Azure Управляемый экземпляр SQL Azure конечной точке аналитики платформы Аналитики Azure Synapse Analytics (PDW) в Microsoft Fabric Хранилище в Microsoft Fabric
Возвращает статистическое стандартное отклонение всех значений в указанном выражении.
Соглашения о синтаксисе Transact-SQL
Синтаксис
-- Aggregate Function Syntax
STDEV ( [ ALL | DISTINCT ] expression )
-- Analytic Function Syntax
STDEV ([ 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
Замечания
Если функция STDEV используется для всех элементов в инструкции SELECT, то в вычисление включается каждое значение результирующего набора. Функцию STDEV можно использовать только для числовых столбцов. Значения NULL пропускаются.
STDEV — это детерминированная функция, если она используется без предложений OVER и ORDER BY. Она не детерминирована при использовании с предложениями OVER и ORDER BY. Дополнительные сведения см. в разделе Deterministic and Nondeterministic Functions.
Примеры
А. Использование функции STDEV
В следующем примере возвращается стандартное отклонение для всех значений бонусов в таблице в SalesPerson
базе данных AdventureWorks2022.
SELECT STDEV(Bonus)
FROM Sales.SalesPerson;
GO
Примеры: Azure Synapse Analytics и система платформы аналитики (PDW)
Б. Использование функции STDEV
В приведенном ниже примере возвращается стандартное отклонение значений квот на продажу в таблице dbo.FactSalesQuota
. Первый столбец содержит стандартное отклонение всех уникальных значений, а второй — стандартное отклонение всех значений, включая повторяющиеся.
-- Uses AdventureWorks
SELECT STDEV(DISTINCT SalesAmountQuota)AS Distinct_Values, STDEV(SalesAmountQuota) AS All_Values
FROM dbo.FactSalesQuota;
Вот результирующий набор.
Distinct_Values All_Values
---------------- ----------------
398974.27 398450.57
C. Использование STDEV с предложением OVER
В приведенном ниже примере возвращается стандартное отклонение для значений квот на продажу в каждом квартале календарного года. Обратите внимание на то, что ORDER BY в предложении OVER упорядочивает STDEV, а ORDER BY в инструкции SELECT упорядочивает результирующий набор.
-- Uses AdventureWorks
SELECT CalendarYear AS Year, CalendarQuarter AS Quarter, SalesAmountQuota AS SalesQuota,
STDEV(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 null
2002 2 140000.0000 34648.23
2002 3 70000.0000 35921.21
2002 4 154000.0000 39752.36
См. также
Агрегатные функции (Transact-SQL)
Предложение OVER (Transact-SQL)