Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Van toepassing op:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Analytics Platform System (PDW)
SQL Analytics-eindpunt in Microsoft Fabric
Magazijn in Microsoft Fabric
SQL-database in Microsoft Fabric
Geeft de statistische variantie van alle waarden in de gespecificeerde uitdrukking terug. Kan gevolgd worden door de OVER-clausule.
Transact-SQL syntaxis-conventies
Syntaxis
-- Aggregate Function Syntax
VAR ( [ ALL | DISTINCT ] expression )
-- Analytic Function Syntax
VAR ([ ALL ] expression) OVER ( [ partition_by_clause ] order_by_clause)
Arguments
ALLE
Past de functie toe op alle waarden. ALLES is de standaard.
ONDERSCHEIDEND
Hiermee geeft u op dat elke unieke waarde wordt beschouwd.
expressie
Is een uitdrukking van de exacte numerieke of benaderende numerieke datatypecategorie, behalve voor het bitdatatype . Aggregate functies en subqueries zijn niet toegestaan.
OVER ( [ partition_by_clause ] order_by_clause)
partition_by_clause verdeelt de door de FROM-clausule geproduceerde resultaatset in partities waarop de functie wordt toegepast. Als deze niet is opgegeven, behandelt de functie alle rijen van de queryresultatenset als één groep.
order_by_clause bepaalt de logische volgorde waarin de bewerking wordt uitgevoerd.
order_by_clause is vereist. Zie OVER-component (Transact-SQL) voor meer informatie.
Retourtypen
float
Opmerkingen
Als VAR wordt gebruikt op alle items in een SELECT-instructie, wordt elke waarde in de resultaatset opgenomen in de berekening. VAR kan alleen met numerieke kolommen worden gebruikt. Nulwaarden worden genegeerd.
VAR is een deterministische functie wanneer deze wordt gebruikt zonder de clausules OVER en ORDER BY. Het is niet-deterministisch wanneer het wordt gespecificeerd met de OVER- en ORDER BY-clausules. Zie Deterministische en niet-deterministische functies voor meer informatie.
Voorbeelden
A: Gebruik van VAR
Het volgende voorbeeld geeft de variantie terug voor alle bonuswaarden in de SalesPerson tabel in de AdventureWorks2025-database.
SELECT VAR(Bonus)
FROM Sales.SalesPerson;
GO
Voorbeelden: Azure Synapse Analytics and Analytics Platform System (PDW)
B: Gebruik van VAR
Het volgende voorbeeld geeft de statistische variantie van de verkoopquotawaarden in de tabel dbo.FactSalesQuotaweer . De eerste kolom bevat de variantie van alle verschillende waarden en de tweede kolom bevat de variantie van alle waarden, inclusief eventuele dubbele waarden.
-- Uses AdventureWorks
SELECT VAR(DISTINCT SalesAmountQuota)AS Distinct_Values, VAR(SalesAmountQuota) AS All_Values
FROM dbo.FactSalesQuota;
Hier is het resultatenoverzicht.
Distinct_Values All_Values
---------------- ----------------
159180469909.18 158762853821.10
C. VAR gebruiken met OVER
Het volgende voorbeeld geeft de statistische variantie van de verkoopquotawaarden voor elk kwartaal in een kalenderjaar weer terug. Let op dat de ORDER BY in de OVER-clausule de statistische variantie ordent en de ORDER BY van de SELECT-instructie de resultaatset ordent.
-- 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;
Hier is het resultatenoverzicht.
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
Zie ook
statistische functies (Transact-SQL)
OVER-component (Transact-SQL)