STDEVP (Transact-SQL)

Применимо к:SQL Server База данных SQL Azure Управляемый экземпляр SQL Azure Управляемый экземпляр SQL Azure Конечная точка аналитики аналитики Synapse Analytics Analytics (PDW)SQL Analyticsв 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)  

Примечание.

Сведения о синтаксисе Transact-SQL для SQL Server 2014 (12.x) и более ранних версиях см . в документации по предыдущим версиям.

Аргументы

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

C. Использование 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)