Compartilhar via


STDEVP (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 do SQL Warehouse no Microsoft Fabric

Retorna o desvio padrão estatístico para a população de todos os valores na expressão especificada.

Convenções de sintaxe de Transact-SQL

Sintaxe

-- Aggregate Function Syntax   
STDEVP ( [ ALL | DISTINCT ] expression )  
  
-- Analytic Function Syntax   
STDEVP ([ ALL ] expression) OVER ( [ partition_by_clause ] order_by_clause)  

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 STDEVP for usado em todos os itens de uma instrução SELECT, cada valor do conjunto de resultados será incluído no cálculo. STDEVP pode ser usado exclusivamente com colunas numéricas. Valores nulos são ignorados.

STDEVP é 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 STDEVP

O exemplo a seguir retorna o desvio padrão para a população de todos os valores de gratificação da tabela SalesPerson no banco de dados AdventureWorks2022.

SELECT STDEVP(Bonus)  
FROM Sales.SalesPerson;  
GO  

Exemplos: Azure Synapse Analytics e PDW (Analytics Platform System)

B: Usando STDEVP

O exemplo a seguir retorna o STDEVP 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 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;  

Veja a seguir o conjunto de resultados.

Distinct_Values   All_Values  
----------------  ----------------  
397676.79         397226.44

C. Usando STDEVP com OVER

O exemplo a seguir retorna o STDEVP dos valores de cota de vendas para cada trimestre em um ano civil. Observe que ORDER BY na cláusula OVER ordena STDEVP, 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,  
       STDEVP(SalesAmountQuota) OVER (ORDER BY CalendarYear, CalendarQuarter) AS StdDeviation  
FROM dbo.FactSalesQuota  
WHERE EmployeeKey = 272 AND CalendarYear = 2002  
ORDER BY CalendarQuarter;  

Veja a seguir o conjunto de resultados.

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

Confira também

Funções de agregação (Transact-SQL)
Cláusula OVER (Transact-SQL)