STDEV (Transact-SQL)
Aplica-se a: SQL Server
Banco de Dados
SQL do Azure Instância Gerenciada de SQL do
Azure Azure Synapse Analytics
PDW (Analytics Platform System)
Ponto de extremidade de análise de SQL no Microsoft Fabric
Warehouse no Microsoft Fabric
Retorna o desvio padrão estatístico de todos os valores da expressão especificada.
Convenções de sintaxe de Transact-SQL
Sintaxe
-- Aggregate Function Syntax
STDEV ( [ ALL | DISTINCT ] expression )
-- Analytic Function Syntax
STDEV ([ ALL ] expression) OVER ( [ partition_by_clause ] order_by_clause)
Observação
Para exibir a sintaxe do Transact-SQL para o SQL Server 2014 (12.x) e versões anteriores, confira a Documentação das versões anteriores.
Argumentos
ALL
Aplica a função a todos os valores. ALL é o padrão.
DISTINTO
Especifica que cada valor exclusivo é considerado.
expressão
É uma expressão numérica. Funções de agregação e subconsultas não são permitidas. expression é uma expressão da categoria de tipo de dados numérico exato ou numérico aproximado, com exceção do tipo de dados bit.
OVER ( [ partition_by_clause ] order_by_clause)
partition_by_clause divide o conjunto de resultados produzido pela cláusula FROM em partições às quais a função é aplicada. Se não for especificado, a função tratará todas as linhas do conjunto de resultados da consulta como um único grupo. order_by_clause determina a ordem lógica na qual a operação é executada. order_by_clause é obrigatório. Para obter mais informações, confira Cláusula OVER (Transact-SQL).
Tipos de retorno
float
Comentários
Se STDEV for usado em todos os itens uma instrução SELECT, cada valor do conjunto de resultados será incluído no cálculo. STDEV pode ser usado exclusivamente com colunas numéricas. Valores nulos são ignorados.
STDEV é uma função determinística quando usada sem as cláusulas OVER e ORDER BY. É não determinística quando especificada com as cláusulas OVER e ORDER BY. Para obter mais informações, veja Funções determinísticas e não determinísticas.
Exemplos
A: Usando STDEV
O exemplo a seguir retorna o desvio padrão para todos os valores de gratificação da tabela SalesPerson
no banco de dados AdventureWorks2022.
SELECT STDEV(Bonus)
FROM Sales.SalesPerson;
GO
Exemplos: Azure Synapse Analytics e PDW (Analytics Platform System)
B: Usando STDEV
O exemplo a seguir retorna o desvio padrão dos valores de cota de vendas na tabela dbo.FactSalesQuota
. A primeira coluna contém o desvio padrão de todos os valores distintos e a segunda coluna contém o desvio padrão de todos os valores, incluindo valores duplicados.
-- Uses AdventureWorks
SELECT STDEV(DISTINCT SalesAmountQuota)AS Distinct_Values, STDEV(SalesAmountQuota) AS All_Values
FROM dbo.FactSalesQuota;
Este é o conjunto de resultados.
Distinct_Values All_Values
---------------- ----------------
398974.27 398450.57
C. Usando STDEV com OVER
O exemplo a seguir retorna o desvio padrão dos valores de cota de vendas para cada trimestre em um ano civil. Observe que ORDER BY na cláusula OVER ordena STDEV e que ORDER BY da instrução SELECT ordena o conjunto de resultados.
-- 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;
Este é o conjunto de resultados.
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
Consulte Também
Funções de agregação (Transact-SQL)
Cláusula OVER (Transact-SQL)