Sdílet prostřednictvím


VARP (Transact-SQL)

Platí pro:SQL ServerAzure SQL DatabaseSpravovaná instance Azure SQLAzure Synapse AnalyticsAnalytics Platform System (PDW)Koncový bod analýzy SQL v Microsoft FabricSklad v Microsoft FabricDatabáze SQL v Microsoft Fabric

Vrátí statistickou odchylku základního souboru pro všechny hodnoty v zadaném výrazu.

Transact-SQL konvence syntaxe

Syntaxe

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

Argumenty

VŠE
Použije funkci na všechny hodnoty. All je výchozí hodnota.

ODLIŠNÝ
Určuje, že každá jedinečná hodnota se považuje za.

výrazu
Je výraz přesné číselné nebo přibližné kategorie číselného datového typu s výjimkou datového typu bitu . Agregační funkce a poddotazy nejsou povoleny.

KONEC ([ partition_by_clause ] order_by_clause)
partition_by_clause rozdělí sadu výsledků vytvořenou klauzulí FROM na oddíly, na které se funkce použije. 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 se vyžaduje. Další informace naleznete v tématu OVER – klauzule (Transact-SQL).

Návratové typy

plout

Poznámky

Pokud se funkce VARP používá u všech položek příkazu SELECT, každá hodnota v sadě výsledků je zahrnuta do výpočtu. VarP lze použít pouze s číselnými sloupci. Hodnoty null se ignorují.

VARP je deterministická funkce při použití bez klauzulí OVER a ORDER BY. Je nedeterministický, pokud je zadán pomocí klauzulí OVER a ORDER BY. Další informace naleznete v tématu Deterministické a nedeterministické funkce.

Příklady

A: Použití varp

Následující příklad vrací rozptyl populace pro všechny bonusové hodnoty v tabulce SalesPerson databáze AdventureWorks2025.

SELECT VARP(Bonus)  
FROM Sales.SalesPerson;  
GO  

Příklady: Azure Synapse Analytics a Analytický platformový systém (PDW)

B: Použití varp

Následující příklad vrátí VARP hodnoty kvóty prodeje v tabulce dbo.FactSalesQuota. První sloupec obsahuje rozptyl všech jedinečných hodnot a druhý sloupec obsahuje rozptyl všech hodnot včetně duplicitních hodnot.

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

Tady je soubor výsledků.

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

C. Použití funkce VARP s funkcemi OVER

Následující příklad vrátí VARP hodnoty kvóty prodeje pro každé čtvrtletí v kalendářním roce. Všimněte si, že klauzule ORDER BY v klauzuli OVER objedná statistickou odchylku a ORDER BY příkazu SELECT nastaví sadu výsledků.

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

Tady je soubor výsledků.

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

Viz také

agregační funkce (Transact-SQL)
OVER – klauzule (Transact-SQL)