Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Platí pro:SQL Server
Azure SQL Database
Spravovaná instance Azure SQL
Azure Synapse Analytics
Analytics Platform System (PDW)
Koncový bod analýzy SQL v Microsoft Fabric
Sklad v Microsoft Fabric
Databáze SQL v Microsoft Fabric
Vrací statistickou varianci všech hodnot ve specifikovaném výrazu. Může následovat klauzule OVER.
Syntaxe
-- Aggregate Function Syntax
VAR ( [ ALL | DISTINCT ] expression )
-- Analytic Function Syntax
VAR ([ ALL ] expression) OVER ( [ partition_by_clause ] order_by_clause)
Arguments
ALL
Aplikuje funkci na všechny hodnoty. VŠE je výchozí.
ODLIŠNÝ
Určuje, že každá jedinečná hodnota se považuje za.
expression
Je výraz pro přesnou numerickou nebo přibližnou datovou kategorii, s výjimkou datového typu bitu . Agregované funkce a poddotazy nejsou povoleny.
KONEC ([ partition_by_clause ] order_by_clause)
partition_by_clause rozděluje množinu výsledků vytvořenou klauzulí FROM na partce, na které je funkce aplikována. Pokud není zadáno, funkce zachází se všemi řádky sady výsledků dotazu jako s jednou skupinou.
order_by_clause určuje logické pořadí, ve kterém se operace provádí.
order_by_clause je potřeba. Pro více informací viz OVER Clause (Transact-SQL).
Návratové typy
float
Poznámky
Pokud je VAR použit na všechny položky v příkazu SELECT, každá hodnota ve výsledné sadě je zahrnuta do výpočtu. VAR lze použít pouze s číselnými sloupci. Nulové hodnoty jsou ignorovány.
VAR je deterministická funkce, když se používá bez klauzul OVER a ORDER BY. Je nedeterministická tehdy, když je specifikována s klauzulemi OVER a ORDER BY. Další informace naleznete v tématu Deterministické a nedeterministické funkce.
Examples
Odpověď: Použití VAR
Následující příklad vrací rozptyl pro všechny bonusové hodnoty v tabulce SalesPerson v databázi AdventureWorks2025.
SELECT VAR(Bonus)
FROM Sales.SalesPerson;
GO
Příklady: Azure Synapse Analytics a Analytický platformový systém (PDW)
B: Použití VAR
Následující příklad vrací statistickou varianci hodnot prodejních kvót v tabulce dbo.FactSalesQuota. První sloupec obsahuje rozptyl všech různých hodnot a druhý sloupec obsahuje rozptyl všech hodnot včetně jakýchkoli duplicitních hodnot.
-- Uses AdventureWorks
SELECT VAR(DISTINCT SalesAmountQuota)AS Distinct_Values, VAR(SalesAmountQuota) AS All_Values
FROM dbo.FactSalesQuota;
Tady je soubor výsledků.
Distinct_Values All_Values
---------------- ----------------
159180469909.18 158762853821.10
C. Použití VAR s OVER
Následující příklad vrací statistickou varianci hodnot prodejních kvót za každý čtvrtletí v kalendářním roce. Všimněte si, že příkaz ORDER BY v klauzuli OVER řadí statistickou varianci a příkaz SELECT pořadí BY podle výsledné množiny.
-- 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;
Tady je soubor výsledků.
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
Viz také
agregační funkce
Klauzule OVER (Transact-SQL)