Not
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Gäller för:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Analysplattformssystem (PDW)
SQL-analysslutpunkt i Microsoft Fabric
Lager i Microsoft Fabric
SQL-databas i Microsoft Fabric
Returnerar den statistiska variansen för alla värden i det specificerade uttrycket. Kan följas av OVER-klausulen.
Transact-SQL syntaxkonventioner
Syntax
-- Aggregate Function Syntax
VAR ( [ ALL | DISTINCT ] expression )
-- Analytic Function Syntax
VAR ([ ALL ] expression) OVER ( [ partition_by_clause ] order_by_clause)
Arguments
ALL
Applicerar funktionen på alla värden. ALLT är standard.
SÄRSKILD
Anger att varje unikt värde beaktas.
uttryck
Är ett uttryck för den exakta numeriska eller approximativa numeriska datatypkategorin, förutom bitdatatypen . Aggregerade funktioner och delfrågor är inte tillåtna.
ÖVER ( [ partition_by_clause ] order_by_clause)
partition_by_clause delar in resultatmängden som produceras av FROM-satsen i partitioner där funktionen tillämpas. 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
float
Anmärkningar
Om VAR används på alla objekt i en SELECT-sats inkluderas varje värde i resultatuppsättningen i beräkningen. VAR kan endast användas med numeriska kolumner. Nollvärden ignoreras.
VAR är en deterministisk funktion när den används utan klausulerna OVER och ORDER BY. Den är icke-deterministisk när den specificeras med OVER- och ORDER BY-klausulerna. Mer information finns i Deterministiska och nondeterministiska funktioner.
Examples
S: Användning av VAR
Följande exempel returnerar variansen för alla bonusvärden i SalesPerson tabellen i AdventureWorks2025-databasen.
SELECT VAR(Bonus)
FROM Sales.SalesPerson;
GO
Exempel: Azure Synapse Analytics and Analytics Platform System (PDW)
B: Användning av VAR
Följande exempel återger den statistiska variansen för försäljningskvotvärdena i tabellen dbo.FactSalesQuota. Den första kolumnen innehåller variansen för alla olika värden och den andra kolumnen innehåller variansen för alla värden inklusive eventuella dubblettvärden.
-- Uses AdventureWorks
SELECT VAR(DISTINCT SalesAmountQuota)AS Distinct_Values, VAR(SalesAmountQuota) AS All_Values
FROM dbo.FactSalesQuota;
Här är resultatet.
Distinct_Values All_Values
---------------- ----------------
159180469909.18 158762853821.10
C. Att använda VAR med OVER
Följande exempel visar den statistiska variansen för försäljningskvotvärdena för varje kvartal under ett kalenderår. Observera att ORDER BY i OVER-klausulen ordnar den statistiska variansen och ORDER BY i SELECT-satsen ordnar resultatuppsättningen.
-- Uses AdventureWorks
SELECT CalendarYear AS Year, CalendarQuarter AS Quarter, SalesAmountQuota AS SalesQuota,
VAR(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 null
2002 2 140000.0000 1200500000.00
2002 3 70000.0000 1290333333.33
2002 4 154000.0000 1580250000.00
Se även
Aggregerade funktioner (Transact-SQL)
OVER-klausul (Transact-SQL)