Заметка
Доступ к этой странице требует авторизации. Вы можете попробовать войти в систему или изменить каталог.
Доступ к этой странице требует авторизации. Вы можете попробовать сменить директорию.
Применимо к:SQL Server
База данных Azure SQL
Управляемый экземпляр Azure SQL
Azure Synapse Analytics
Система платформы аналитики (PDW)
Конечная точка SQL аналитики в Microsoft Fabric
Хранилище в Microsoft Fabric
База данных SQL в 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.
ПРИЁМ ( [ 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 таблице базы данных AdventureWorks2025.
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)