Megosztás a következőn keresztül:


VAR (Transact-SQL)

A következőkre vonatkozik:SQL ServerAzure SQL DatabaseFelügyelt Azure SQL-példányAzure Synapse AnalyticsElemzési platformrendszer (PDW)SQL Analytics-végpont a Microsoft FabricbenRaktár a Microsoft FabricbenSQL-adatbázis a Microsoft Fabricben

A megadott kifejezésben szereplő összes érték statisztikai varianciáját adja vissza. Követheti az OVER záradékot.

Transact-SQL szintaxis konvenciók

Szemantika

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

Arguments

ALL
A függvényt minden értékre alkalmazza. ALL az alapértelmezett.

KÜLÖNBÖZŐ
Megadja, hogy minden egyedi érték figyelembe legyen véve.

kifejezés
A pontos numerikus vagy közelítő numerikus adattípus kategóriájának kifejezése , kivéve a bitadattípust . Az aggregált függvények és allekérdezések nem engedélyezettek.

VÉGE ( [ partition_by_clause ] order_by_clause)
partition_by_clause a FROM klauzula által generált eredményhalmazt osztja szétosztásokra, amelyekhez a függvény alkalmazható. Ha nincs megadva, a függvény a lekérdezés eredményhalmazának összes sorát egyetlen csoportként kezeli. order_by_clause határozza meg a művelet végrehajtásának logikai sorrendjét. order_by_clause szükséges. További információ: OVER záradék (Transact-SQL).

Visszatérési típusok

float

Megjegyzések

Ha a VAR-t minden elemre használják egy SELECT utasításban, az eredményhalmaz minden értéke bekerül a számításba. A VAR csak numerikus oszlopokkal használható. A null értékeket figyelmen kívül hagyjuk.

A VAR determinisztikus függvény, ha az OVER és ORDER BY klauzulák nélkül használják. Nem determinisztika, ha az OVER és ORDER BY klauzulákkal van megadva. További információ: Determinisztikus és Nemdeterminista függvények.

Példák

V: VAR használata

A következő példa az AdventureWorks2025 adatbázisban található táblázatban szereplő összes bónusz érték SalesPerson varianciáját adja vissza.

SELECT VAR(Bonus)  
FROM Sales.SalesPerson;  
GO  

Példák: Azure Synapse Analytics and Analytics Platform System (PDW)

B: VAR használata

Az alábbi példa adja vissza az értékesítési kvótaértékek statisztikai varianciáját a táblázatban dbo.FactSalesQuota. Az első oszlop tartalmazza az összes különböző érték varianciáját, a második oszlop pedig az összes érték varianciáját, beleértve az összes duplikátum értéket is.

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

Itt van az eredmények összessége.

Distinct_Values   All_Values
----------------  ----------------
159180469909.18   158762853821.10

C. VAR használata OVER-rel

Az alábbi példa adja vissza az értékesítési kvóta értékek statisztikai varianciáját minden negyedévre egy naptári évben. Figyeljük meg, hogy az OVER klauzulában a ORDER BY a statisztikai varianciát rendeli, a SELECT utasítás BY ORDER pedig az eredményhalmazt rendeli.

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

Itt van az eredmények összessége.

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

Lásd még:

összesítő függvények (Transact-SQL)
OVER záradék (Transact-SQL)