Compartir vía


STDEVP (Transact-SQL)

Se aplica a: SQL Server Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System (PDW) Punto de conexión de análisis SQL en Microsoft Fabric Almacenamiento en Microsoft Fabric

Devuelve la desviación estadística estándar para la población de todos los valores de la expresión especificada.

Convenciones de sintaxis de Transact-SQL

Sintaxis

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

Argumentos

ALL
Aplica la función a todos los valores. ALL es el valor predeterminado.

DISTINCT
Especifica que se tiene en cuenta cada valor único.

expression
Es una expresión numérica. No se permiten funciones de agregado ni subconsultas. expression es una expresión de la categoría de tipos de datos numérico exacto o numérico aproximado, excepto para el tipo de datos bit.

OVER ( [ partition_by_clause ] order_by_clause)
partition_by_clause divide el conjunto de resultados generado por la cláusula FROM en particiones a las que se aplica la función. Si no se especifica, la función trata todas las filas del conjunto de resultados de la consulta como un único grupo. order_by_clause determina el orden lógico en el que se realiza la operación. order_by_clause es obligatorio. Para más información, vea Cláusula OVER (Transact-SQL).

Tipos de valor devuelto

float

Comentarios

Si se utiliza STDEVP en todos los elementos de una instrucción SELECT, se incluirán en el cálculo todos los valores del conjunto de resultados. STDEVP solo puede utilizarse con columnas numéricas. Se omiten los valores NULL.

STDEVP es una función determinista cuando se utiliza sin las cláusulas OVER y ORDER BY. Es no determinista si se especifica con las cláusulas OVER y ORDER BY. Para obtener más información, consulte Deterministic and Nondeterministic Functions.

Ejemplos

A. Mediante STDEVP

En el ejemplo siguiente se devuelve la desviación estándar del rastreo de todos los valores de bonificación de la tabla SalesPerson de la base de datos AdventureWorks2022.

SELECT STDEVP(Bonus)  
FROM Sales.SalesPerson;  
GO  

Ejemplos: Azure Synapse Analytics y Sistema de la plataforma de análisis (PDW)

B. Mediante STDEVP

En el ejemplo siguiente se devuelve el valor STDEVP de los valores de la tabla dbo.FactSalesQuota. La primera columna contiene la desviación estándar de todos los valores distintos y la segunda columna contiene la desviación estándar de todos los valores, incluidos los 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;  

Este es el conjunto de resultados.

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

C. Mediante STDEVP con OVER

En el siguiente ejemplo se devuelve el valor STDEVP de los valores de cuota de ventas de cada trimestre de un año natural. Observe que ORDER BY de la cláusula OVER ordena STDEVP y ORDER BY de la instrucción SELECT ordena el 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;  

Este es el 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

Consulte también

Funciones de agregado (Transact-SQL)
Cláusula OVER (Transact-SQL)