STDEV (Transact-SQL)
Se aplica a: punto de conexión de SQL Server
Azure SQL Database
Azure SQL Instancia administrada
punto de conexión de SQL Analytics Analytics Platform System (PDW) de SQL Analytics
System (PDW)
de SQL Server en Microsoft Fabric
Warehouse en Microsoft Fabric
Devuelve la desviación típica estadística de todos los valores de la expresión especificada.
Convenciones de sintaxis de Transact-SQL
Sintaxis
-- Aggregate Function Syntax
STDEV ( [ ALL | DISTINCT ] expression )
-- Analytic Function Syntax
STDEV ([ ALL ] expression) OVER ( [ partition_by_clause ] order_by_clause)
Nota:
Para ver la sintaxis de Transact-SQL para SQL Server 2014 (12.x) y versiones anteriores, consulte Versiones anteriores de la documentación.
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 STDEV se utiliza en todos los elementos de una instrucción SELECT, en el cálculo se incluirán todos los valores del conjunto de resultados. STDEV solo puede utilizarse con columnas numéricas. Se omiten los valores NULL.
STDEV 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. Con STDEV
En el ejemplo siguiente se devuelve la desviación estándar de todos los valores de bonificación de la tabla SalesPerson
de la base de datos AdventureWorks2022.
SELECT STDEV(Bonus)
FROM Sales.SalesPerson;
GO
Ejemplos: Azure Synapse Analytics y Sistema de la plataforma de análisis (PDW)
B. Con STDEV
En el siguiente ejemplo se obtiene la desviación típica de los valores de cuota de ventas en 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 STDEV(DISTINCT SalesAmountQuota)AS Distinct_Values, STDEV(SalesAmountQuota) AS All_Values
FROM dbo.FactSalesQuota;
El conjunto de resultados es el siguiente:
Distinct_Values All_Values
---------------- ----------------
398974.27 398450.57
C. Con STDEVP y OVER
En este ejemplo se devuelve la desviación típica de los valores de cuota de ventas de cada trimestre de un año natural. Observe que ORDER BY en la cláusula OVER ordena STDEV, mientras que ORDER BY de la instrucción SELECT ordena el 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;
El conjunto de resultados es el siguiente:
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 también
Funciones de agregado (Transact-SQL)
Cláusula OVER (Transact-SQL)