Aracılığıyla paylaş


VAR (Transact-SQL)

Şunlar için geçerlidir:SQL ServerAzure SQL VeritabanıAzure SQL Yönetilen ÖrneğiAzure Synapse AnalyticsAnaliz Platformu Sistemi (PDW)Microsoft Fabric'teki SQL analiz uç noktasıMicrosoft Fabric'teki ambarMicrosoft Fabric'teki SQL veritabanı

Belirtilen ifadedeki tüm değerlerin istatistiksel varyansını döndürür. OVER maddesi gelebilir.

Transact-SQL söz dizimi kuralları

Sözdizimi

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

Arguments

TÜMÜ
Fonksiyonu tüm değerlere uygular. ALL varsayılan durumdur.

BELİRGİN
Her benzersiz değerin dikkate alındığını belirtir.

expression
Bit veri tipi hariç, tam sayısal veya yaklaşık sayısal veri tipi kategorisinin bir ifadesidir. Toplu fonksiyonlar ve alt sorgular izin verilmez.

OVER ( [ partition_by_clause ] order_by_clause)
partition_by_clause , FROM maddesi tarafından üretilen sonuç kümesini, fonksiyonun uygulandığı bölümlere böler. Belirtilmezse, işlev sorgu sonuç kümesinin tüm satırlarını tek bir grup olarak ele alır. order_by_clause işlemin gerçekleştirildiği mantıksal sırayı belirler. order_by_clause zorunludur. Daha fazla bilgi için bkz. OVER Maddesi (Transact-SQL).

Dönüş Türleri

float

Açıklamalar

VAR, bir SELECT ifadesindeki tüm öğelerde kullanılıyorsa, sonuç kümesindeki her değer hesaplamaya dahil edilir. VAR yalnızca sayısal sütunlarla kullanılabilir. Null değerler göz ardı edilir.

VAR, OVER ve ORDER BY cümleleri olmadan kullanıldığında deterministik bir fonksiyondur. OVER ve ORDER BY cümleleriyle belirtildiğinde belirsizliktir. Daha fazla bilgi için bkz . Deterministic ve Nondeterministic Functions.

Örnekler

C: VAR kullanımı

Aşağıdaki örnek, AdventureWorks2025 veritabanındaki tablodaki tüm bonus değerleri SalesPerson için varyansı döndürür.

SELECT VAR(Bonus)  
FROM Sales.SalesPerson;  
GO  

Örnekler: Azure Synapse Analytics ve Analytics Platform Sistemi (PDW)

B: VAR kullanımı

Aşağıdaki örnek, tablodaki dbo.FactSalesQuotasatış kotası değerlerinin istatistiksel varyansını geri getirir. İlk sütun tüm farklı değerlerin varyansını, ikinci sütun ise tüm değerlerin varyansını, tekrarlanan değerleri de içerir.

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

Sonuç kümesi aşağıdadır.

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

C. VAR'ın OVER ile kullanılması

Aşağıdaki örnek, bir takvim yılındaki her çeyrek için satış kotası değerlerinin istatistiksel varyansını geri getirir. OVER maddesindeki ORDER BY'nin istatistiksel varyansı ve SELECT ifadesinin ORDER BY'nin sonuç kümesini emrediğini fark edin.

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

Sonuç kümesi aşağıdadır.

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

Ayrıca Bkz.

Toplama İşlevleri (Transact-SQL)
OVER Maddesi (Transact-SQL)