Delen via


STDEVP (Transact-SQL)

Van toepassing op:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)SQL Analytics-eindpunt in Microsoft FabricMagazijn in Microsoft FabricSQL-database in Microsoft Fabric

Geeft de statistische standaarddeviatie voor de populatie terug voor alle waarden in de opgegeven uitdrukking.

Transact-SQL syntaxis-conventies

Syntaxis

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

Arguments

ALLE
Past de functie toe op alle waarden. ALLES is de standaard.

DUIDELIJK
Hiermee geeft u op dat elke unieke waarde wordt beschouwd.

expressie
Is een numerieke uitdrukking. Aggregate functies en subqueries zijn niet toegestaan. expressie is een uitdrukking van de exacte numerieke of benaderende numerieke datatypecategorie, behalve voor het bitdatatype .

OVER ( [ partition_by_clause ] order_by_clause)
partition_by_clause verdeelt de door de FROM-clausule geproduceerde resultaatset in partities waarop de functie wordt toegepast. Als deze niet is opgegeven, behandelt de functie alle rijen van de queryresultatenset als één groep. order_by_clause bepaalt de logische volgorde waarin de bewerking wordt uitgevoerd. order_by_clause is vereist. Zie OVER-component (Transact-SQL) voor meer informatie.

Retourtypen

float

Opmerkingen

Als STDEVP wordt gebruikt op alle items in een SELECT-instructie, wordt elke waarde in de resultaatset opgenomen in de berekening. STDEVP kan alleen met numerieke kolommen worden gebruikt. Nulwaarden worden genegeerd.

STDEVP is een deterministische functie wanneer deze wordt gebruikt zonder de clausules OVER en ORDER BY. Het is niet-deterministisch wanneer het wordt gespecificeerd met de OVER- en ORDER BY-clausules. Zie Deterministische en niet-deterministische functies voor meer informatie.

Voorbeelden

A: STDEVP gebruiken

Het volgende voorbeeld geeft de standaarddeviatie voor de populatie voor alle bonuswaarden in de SalesPerson tabel in de AdventureWorks2025-database terug.

SELECT STDEVP(Bonus)  
FROM Sales.SalesPerson;  
GO  

Voorbeelden: Azure Synapse Analytics and Analytics Platform System (PDW)

B: STDEVP gebruiken

Het volgende voorbeeld geeft de STDEVP van de verkoopquotawaarden in de tabel dbo.FactSalesQuotaterug. De eerste kolom bevat de standaarddeviatie van alle verschillende waarden en de tweede kolom bevat de standaarddeviatie van alle waarden, inclusief eventuele dubbele waarden.

-- 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 is het resultatenoverzicht.

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

C. STDEVP gebruiken met OVER

Het volgende voorbeeld geeft de STDEVP verkoopquotawaarden voor elk kwartaal in een kalenderjaar weer op. Let op dat de ORDER BY in de OVER clausule de STDEVP en de ORDER BY van de SELECT uitspraak de resultaatset ordent.

-- 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 is het resultatenoverzicht.

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

Zie ook

statistische functies (Transact-SQL)
OVER-clausule (Transact-SQL)