STDEVP (Transact-SQL)

Gilt für:SQL ServerAzure SQL-DatenbankAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)SQL Analytics-Endpunkt in Microsoft FabricWarehouse in Microsoft Fabric

Gibt die statistische Standardabweichung für die Grundgesamtheit (Population) aller Werte des angegebenen Ausdrucks zurück.

Transact-SQL-Syntaxkonventionen

Syntax

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

Hinweis

Informationen zum Anzeigen der Transact-SQL-Syntax für SQL Server 2014 (12.x) und früher finden Sie unter Dokumentation zu früheren Versionen.

Argumente

ALL
Wendet die Funktion auf alle Werte an. ALL ist die Standardeinstellung.

DISTINCT
Gibt an, dass jeder eindeutige Wert berücksichtigt wird.

expression
Ein numerischer Ausdruck. Aggregatfunktionen und Unterabfragen sind nicht zulässig. Bei expression handelt es sich um einen Ausdruck der genauen numerischen oder ungefähren numerischen Datentypkategorie, mit Ausnahme des bit-Datentyps.

OVER ( [ partition_by_clause ] order_by_clause)
partition_by_clause unterteilt das von der FROM-Klausel erzeugte Resultset in Partitionen, auf die die Funktion angewendet wird. Wird dies nicht angegeben, verarbeitet die Funktion alle Zeilen des Abfrageresultsets als einzelne Gruppe. order_by_clause bestimmt die logische Reihenfolge, in der der Vorgang ausgeführt wird. order_by_clause ist erforderlich. Weitere Informationen finden Sie unter OVER-Klausel (Transact-SQL).

Rückgabetypen

float

Hinweise

Falls STDEVP für alle Elemente einer SELECT-Anweisung verwendet wird, werden alle Werte im Resultset in die Berechnung eingeschlossen. STDEVP kann nur bei numerischen Spalten verwendet werden. NULL-Werte werden ignoriert.

STDEVP ist eine deterministische Funktion, wenn sie ohne die OVER- und ORDER BY-Klauseln angegeben wird. Sie ist nicht deterministisch, wenn sie mit den OVER- und ORDER BY-Klauseln angegeben wird. Weitere Informationen finden Sie unter Deterministic and Nondeterministic Functions.

Beispiele

A: Verwenden von STDEVP

Im folgenden Beispiel wird die Standardabweichung für die Grundgesamtheit aller Bonuswerte in der SalesPerson-Tabelle der AdventureWorks2022-Datenbank zurückgegeben.

SELECT STDEVP(Bonus)  
FROM Sales.SalesPerson;  
GO  

Beispiele: Azure Synapse Analytics und Analytics-Plattformsystem (PDW)

B: Verwenden von STDEVP

Das folgende Beispiel gibt in der Tabelle dbo.FactSalesQuota die STDEVP der Sollvorgabenwerte für den Verkauf zurück. Die erste Spalte enthält die Standardabweichung aller eindeutigen Werte. Die zweite Spalte enthält die Standardabweichung aller Werte, einschließlich aller doppelten Werte.

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

Hier ist das Resultset.

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

C. Verwenden von STDEVP mit OVER

Das folgende Beispiel gibt für jedes Quartal eines Kalenderjahrs die STDEVP der Sollvorgabenwerte für den Verkauf zurück. Beachten Sie, dass ORDER BY in der OVER-Klausel STDEVP sortiert und dass ORDER BY der SELECT-Anweisung das Resultset sortiert.

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

Hier ist das Resultset.

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

Weitere Informationen

Aggregatfunktionen (Transact-SQL)
OVER-Klausel (Transact-SQL)