STDEVP (Transact-SQL)

S’applique à :SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)Point de terminaison analytique SQL dans Microsoft FabricEntrepôt dans Microsoft Fabric

Renvoie l'écart type de remplissage pour toutes les valeurs de l'expression spécifiée.

Conventions de la syntaxe Transact-SQL

Syntaxe

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

Remarque

Pour afficher la syntaxe Transact-SQL pour SQL Server 2014 (12.x) et versions antérieures, consultez la Documentation sur les versions antérieures.

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 STDEVP est exécutée sur tous les éléments d'une instruction SELECT, chaque valeur du jeu de résultats est comprise dans le calcul. La fonction STDEVP ne peut être utilisée qu'avec des colonnes de type numérique. Les valeurs NULL sont ignorées.

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

Dans l’exemple suivant, la procédure retourne l’écart type pour le remplissage de toutes les valeurs de bonus dans la table SalesPerson de la base de données AdventureWorks2022.

SELECT STDEVP(Bonus)  
FROM Sales.SalesPerson;  
GO  

Exemples : Azure Synapse Analytics et Analytics Platform System (PDW)

B. Utilisation de STDEVP

L’exemple suivant renvoie l’écart-type (STDEVP) des valeurs de quota de ventes dans 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 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;  

Voici le jeu de résultats obtenu.

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

C. Utilisation de STDEVP avec OVER

L’exemple suivant retourne la variance statistique (STDEVP) des valeurs de quota de ventes pour chaque trimestre de l’année civile. Notez que l'argument ORDER BY de la clause OVER détermine l'ordre des valeurs STDEVP tandis que l'argument ORDER BY de l'instruction SELECT détermine l'ordre de l'ensemble de résultats.

-- 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;  

Voici le jeu de résultats obtenu.

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

Voir aussi

Fonctions d'agrégation (Transact-SQL)
OVER Clause (Transact-SQL)