Dela via


VARP (Transact-SQL)

gäller för:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)SQL-analysslutpunkt i Microsoft FabricWarehouse i Microsoft Fabric

Returnerar den statistiska variansen för populationen för alla värden i det angivna uttrycket.

Transact-SQL syntaxkonventioner

Syntax

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

Argumentpunkter

ALLA
Tillämpar funktionen på alla värden. ALLA är standardvärdet.

SÄRSKILD
Anger att varje unikt värde beaktas.

uttryck
Är ett uttryck för den exakta numeriska eller ungefärliga numeriska datatypen, förutom bitdatatypen . Mängdfunktioner och underfrågor är inte tillåtna.

ÖVER ( [ partition_by_clause ] order_by_clause)
partition_by_clause delar upp resultatuppsättningen som skapas av FROM-satsen i partitioner som funktionen tillämpas på. Om det inte anges behandlar funktionen alla rader i frågeresultatuppsättningen som en enda grupp. order_by_clause avgör i vilken logisk ordning åtgärden utförs. order_by_clause krävs. Mer information finns i OVER-satsen (Transact-SQL).

Returtyper

sväva

Anmärkningar

Om VARP används för alla objekt i en SELECT-instruktion inkluderas varje värde i resultatuppsättningen i beräkningen. VARP kan endast användas med numeriska kolumner. Null-värden ignoreras.

VARP är en deterministisk funktion när den används utan OVER- och ORDER BY-satserna. Det är icke-terministiskt när det anges med OVER- och ORDER BY-satserna. Mer information finns i Deterministiska och nondeterministiska funktioner.

Exempel

S: Använda VARP

I följande exempel returneras variansen för populationen för alla bonusvärden i SalesPerson tabellen i databasen AdventureWorks2022.

SELECT VARP(Bonus)  
FROM Sales.SalesPerson;  
GO  

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

B: Använda VARP

I följande exempel returneras VARP försäljningskvotvärdena i tabellen dbo.FactSalesQuota. Den första kolumnen innehåller variansen för alla distinkta värden och den andra kolumnen innehåller variansen för alla värden inklusive eventuella dubbletter.

-- Uses AdventureWorks  
  
SELECT VARP(DISTINCT SalesAmountQuota)AS Distinct_Values, VARP(SalesAmountQuota) AS All_Values  
FROM dbo.FactSalesQuota;  

Här är resultatet.

Distinct_Values   All_Values
----------------  ----------------
158146830494.18   157788848582.94

C. Använda VARP med OVER

I följande exempel returneras VARP försäljningskvotvärdena för varje kvartal under ett kalenderår. Observera att ORDER BY i OVER-satsen beställer den statistiska variansen och ORDER BY för SELECT-instruktionen beställer resultatuppsättningen.

-- Uses AdventureWorks  
  
SELECT CalendarYear AS Year, CalendarQuarter AS Quarter, SalesAmountQuota AS SalesQuota,  
       VARP(SalesAmountQuota) OVER (ORDER BY CalendarYear, CalendarQuarter) AS Variance  
FROM dbo.FactSalesQuota  
WHERE EmployeeKey = 272 AND CalendarYear = 2002  
ORDER BY CalendarQuarter;  

Här är resultatet.

Year  Quarter  SalesQuota              Variance
----  -------  ----------------------  -------------------
2002  1         91000.0000             0.00
2002  2        140000.0000             600250000.00
2002  3         70000.0000             860222222.22
2002  4        154000.0000             1185187500.00

Se även

Aggregerade funktioner (Transact-SQL)
OVER-satsen (Transact-SQL)