Udostępnij za pomocą


STDEVP (Transact-SQL)

Dotyczy:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)Punkt końcowy analizy SQL w usłudze Microsoft FabricHurtownia danych w usłudze Microsoft FabricBaza danych SQL w usłudze Microsoft Fabric

Zwraca statystyczne odchylenie standardowe populacji dla wszystkich wartości w podanym wyrażeniu.

Transact-SQL konwencje składni

Składnia

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

Arguments

WSZYSTKIE
Stosuje tę funkcję do wszystkich wartości. WSZYSTKO jest domyślne.

ODMIENNY
Określa, że każda unikatowa wartość jest brana pod uwagę.

expression
Jest wyrażeniem liczbowym. Funkcje agregowane i podzapytania nie są dozwolone. wyrażenie jest wyrażeniem dokładnej kategorii numerycznej lub przybliżonej kategorii danych numerycznych, z wyjątkiem typu danych bitowych .

KONIEC ( [ partition_by_clause ] order_by_clause)
partition_by_clause dzieli zbiór wyników wytworzony przez klauzulę FROM na partycje, do których funkcja jest stosowana. Jeśli nie zostanie określony, funkcja traktuje wszystkie wiersze zestawu wyników zapytania jako pojedynczą grupę. order_by_clause określa kolejność logiczną, w której jest wykonywana operacja. order_by_clause jest wymagane. Aby uzyskać więcej informacji, zobacz OVER Clause (Transact-SQL).

Typy zwracane

float

Uwagi

Jeśli STDEVP jest używany do wszystkich elementów w instrukcji SELECT, każda wartość w zbiorze wyników jest uwzględniona w obliczeniu. STDEVP można używać wyłącznie z kolumnami numerycznymi. Wartości zerowe są ignorowane.

STDEVP jest funkcją deterministyczną, gdy używa się bez klauzul OVER i ORDER BY. Jest niedeterministyczna, gdy jest określana klauzulami OVER i ORDER BY. Aby uzyskać więcej informacji, zobacz Funkcje deterministyczne i niedeterministyczne.

Przykłady

O: Korzystanie ze STDEVP

Poniższy przykład zwraca odchylenie standardowe populacji dla wszystkich wartości bonusowych w tabeli SalesPerson bazy AdventureWorks2025.

SELECT STDEVP(Bonus)  
FROM Sales.SalesPerson;  
GO  

Przykłady: Azure Synapse Analytics and Analytics Platform System (PDW)

B: Korzystanie ze STDEVP

Poniższy przykład zwraca STDEVP wartości kwoty sprzedaży w tabeli dbo.FactSalesQuota. Pierwsza kolumna zawiera odchylenie standardowe wszystkich różnych wartości, a druga kolumna zawiera odchylenie standardowe wszystkich wartości, w tym wartości duplikaty.

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

Oto zestaw wyników.

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

C. Używanie STDEVP z OVER

Poniższy przykład zwraca STDEVP wartości kwot sprzedaży za każdy kwartał roku kalendarzowego. Zauważmy, że w ORDER BY klauzuli OVER porządkuje , STDEVP a w ORDER BYSELECT zdaniu uporządkowuje zbiór wyników.

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

Oto zestaw wyników.

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

Zobacz też

funkcje agregujące (Transact-SQL)
Klauzula OVER (Transact-SQL)