Delen via


STDEV (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 van alle waarden in de opgegeven expressie terug.

Transact-SQL syntaxis-conventies

Syntaxis

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

Arguments

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

ONDERSCHEIDEND
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 STDEV op alle items in een SELECT-instructie wordt gebruikt, wordt elke waarde in de resultaatset opgenomen in de berekening. STDEV kan alleen met numerieke kolommen worden gebruikt. Nulwaarden worden genegeerd.

STDEV is een deterministische functie wanneer deze wordt gebruikt zonder de OVER- en ORDER BY-clausules. 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: STDEV gebruiken

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

SELECT STDEV(Bonus)  
FROM Sales.SalesPerson;  
GO  

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

B: STDEV gebruiken

Het volgende voorbeeld geeft de standaarddeviatie van de verkoopquotawaarden in de tabel dbo.FactSalesQuotaweer . 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 STDEV(DISTINCT SalesAmountQuota)AS Distinct_Values, STDEV(SalesAmountQuota) AS All_Values  
FROM dbo.FactSalesQuota;  

Hier is het resultatenoverzicht.

Distinct_Values   All_Values
----------------  ----------------
398974.27         398450.57

C. STDEV gebruiken met OVER

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

-- Uses AdventureWorks  
  
SELECT CalendarYear AS Year, CalendarQuarter AS Quarter, SalesAmountQuota AS SalesQuota,  
       STDEV(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             null
2002  2        140000.0000             34648.23
2002  3         70000.0000             35921.21
2002  4        154000.0000             39752.36

Zie ook

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