STDEVP (Transact-SQL)
Gilt für: SQL Server Azure SQL-Datenbank Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System (PDW) SQL Analytics-Endpunkt in Microsoft Fabric Warehouse 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)
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 sehen Sie das Ergebnis.
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 sehen Sie das Ergebnis.
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)