STDEV (Transact-SQL)
S’applique à : SQL Server Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System (PDW) SQL analytics endpoint in Microsoft Fabric Warehouse in Microsoft Fabric
Renvoie l'écart type statistique de toutes les valeurs dans l'expression spécifiée.
Conventions de la syntaxe Transact-SQL
Syntaxe
-- Aggregate Function Syntax
STDEV ( [ ALL | DISTINCT ] expression )
-- Analytic Function Syntax
STDEV ([ ALL ] expression) OVER ( [ partition_by_clause ] order_by_clause)
Arguments
ALL
Applique la fonction à toutes les valeurs. ALL est l'argument par défaut.
DISTINCT
Spécifie que chaque valeur unique est prise en considération.
expression
Expression numérique. Les fonctions d'agrégation et les sous-requêtes ne sont pas autorisées. expression est une expression de la catégorie de type de données numérique exacte ou approximative, à l’exception du type de données bit .
OVER ( [ partition_by_clause ] order_by_clause)
partition_by_clause divise le jeu de résultats généré par la clause FROM en partitions auxquelles la fonction est appliquée. S'il n'est pas spécifié, la fonction gère toutes les lignes du jeu de résultats de la requête en un seul groupe. order_by_clause détermine l’ordre logique dans lequel l’opération est effectuée. order_by_clause est requis. Pour plus d’informations, consultez Clause OVER (Transact-SQL).
Types de retour
float
Remarques
Si la fonction STDEV est exécutée sur tous les éléments d'une instruction SELECT, chaque valeur du jeu de résultats est prise en compte dans le calcul. STDEV ne peut être utilisée qu'avec des colonnes de type numérique. Les valeurs NULL sont ignorées.
STDEV est une fonction déterministe lorsqu'elle est utilisée sans les clauses OVER et ORDER BY. Elle n'est pas déterministe avec les clauses OVER et ORDER BY. Pour plus d’informations, consultez Fonctions déterministes et non déterministes.
Exemples
A. Utilisation de STDEV
Dans l’exemple suivant, la procédure retourne l’écart type pour toutes les valeurs de bonus dans la table SalesPerson
de la base de données AdventureWorks2022.
SELECT STDEV(Bonus)
FROM Sales.SalesPerson;
GO
Exemples : Azure Synapse Analytics et Analytics Platform System (PDW)
B. Utilisation de STDEV
L’exemple suivant renvoie l’écart-type de toutes les valeurs de quota de ventes de la table dbo.FactSalesQuota
. La première colonne contient l’écart-type de toutes les valeurs distinctes, alors que la seconde colonne contient l’écart-type de toutes les valeurs, y compris des valeurs en double.
-- Uses AdventureWorks
SELECT STDEV(DISTINCT SalesAmountQuota)AS Distinct_Values, STDEV(SalesAmountQuota) AS All_Values
FROM dbo.FactSalesQuota;
Voici le jeu de résultats obtenu.
Distinct_Values All_Values
---------------- ----------------
398974.27 398450.57
C. Utilisation de STDEV avec OVER
L’exemple suivant renvoie l’écart-type des valeurs de quota de ventes pour chaque trimestre d’une année civile. Notez que la clause ORDER BY dans la clause OVER trie la fonction STDEV et que la clause ORDER BY de l’instruction SELECT trie les résultats.
-- 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;
Voici le jeu de résultats obtenu.
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
Voir aussi
Fonctions d'agrégation (Transact-SQL)
OVER Clause (Transact-SQL)