Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Dotyczy:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Analytics Platform System (PDW)
Punkt końcowy analizy SQL w usłudze Microsoft Fabric
Hurtownia danych w usłudze Microsoft Fabric
Baza danych SQL w usłudze Microsoft Fabric
Zwraca wariancję statystyczną dla populacji dla wszystkich wartości w określonym wyrażeniu.
Transact-SQL konwencje składni
Składnia
-- Aggregate Function Syntax
VARP ( [ ALL | DISTINCT ] expression )
-- Analytic Function Syntax
VARP ([ ALL ] expression) OVER ( [ partition_by_clause ] order_by_clause)
Argumenty (w programowaniu)
WSZYSTKIE
Stosuje funkcję do wszystkich wartości. All jest wartością domyślną.
ODMIENNY
Określa, że każda unikatowa wartość jest brana pod uwagę.
wyrażenie
Jest wyrażeniem dokładnej lub przybliżonej kategorii typu danych liczbowych, z wyjątkiem typu danych bitowych . Funkcje agregujące i podzapytania nie są dozwolone.
KONIEC ( [ partition_by_clause ] order_by_clause)
partition_by_clause dzieli zestaw wyników generowany przez klauzulę FROM na partycje, do których jest stosowana funkcja. Jeśli nie zostanie określony, funkcja traktuje wszystkie wiersze zestawu wyników zapytania jako pojedynczą grupę.
order_by_clause określa kolejność logiczną, w której jest wykonywana operacja.
order_by_clause jest wymagany. Aby uzyskać więcej informacji, zobacz OVER Clause (Transact-SQL).
Typy zwracane
spławik
Uwagi
Jeśli funkcja VARP jest używana we wszystkich elementach instrukcji SELECT, każda wartość w zestawie wyników jest uwzględniana w obliczeniach. VarP można używać tylko z kolumnami liczbowymi. Wartości null są ignorowane.
VARP to funkcja deterministyczna, która jest używana bez klauzul OVER i ORDER BY. Jest on niedeterministyczny, jeśli jest określony z klauzulami OVER i ORDER BY. Aby uzyskać więcej informacji, zobacz Funkcje deterministyczne i niedeterministyczne.
Przykłady
1: Używanie funkcji VARP
Poniższy przykład zwraca wariancję populacji dla wszystkich wartości bonusowych w tabeli SalesPerson bazy AdventureWorks2025.
SELECT VARP(Bonus)
FROM Sales.SalesPerson;
GO
Przykłady: Azure Synapse Analytics and Analytics Platform System (PDW)
B: Korzystanie z varp
Poniższy przykład zwraca VARP wartości limitu przydziału sprzedaży w tabeli dbo.FactSalesQuota. Pierwsza kolumna zawiera wariancję wszystkich odrębnych wartości, a druga kolumna zawiera wariancję wszystkich wartości, w tym wszelkie zduplikowane wartości.
-- Uses AdventureWorks
SELECT VARP(DISTINCT SalesAmountQuota)AS Distinct_Values, VARP(SalesAmountQuota) AS All_Values
FROM dbo.FactSalesQuota;
Oto zestaw wyników.
Distinct_Values All_Values
---------------- ----------------
158146830494.18 157788848582.94
C. Używanie funkcji VARP z funkcją OVER
Poniższy przykład zwraca VARP wartości limitu przydziału sprzedaży dla każdego kwartału w roku kalendarzowym. Zwróć uwagę, że klauzula ORDER BY w klauzuli OVER porządkuje wariancję statystyczną i ORDER BY instrukcji SELECT porządkuje zestaw wyników.
-- 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;
Oto zestaw wyników.
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
Zobacz też
funkcje agregujące (Transact-SQL)
OVER, klauzula (Transact-SQL)