Condividi tramite


VARP (Transact-SQL)

Si applica a:SQL ServerDatabase SQL di AzureIstanza gestita di SQL di AzureAzure Synapse AnalyticsPiattaforma di analisi (PDW)Endpoint di analisi SQL in Microsoft FabricMagazzino in Microsoft FabricDatabase SQL in Microsoft Fabric

Restituisce la varianza statistica della popolazione per tutti i valori nell'espressione specificata.

Convenzioni relative alla sintassi Transact-SQL

Sintassi

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

Argomenti

TUTTO
Applica la funzione a tutti i valori. Il valore predefinito è ALL.

distinto
Consente di considerare ogni valore univoco.

di espressione
Espressione della categoria di tipi di dati numerici esatti o numerici approssimativi, ad eccezione del tipo di dati bit. Non è possibile utilizzare funzioni di aggregazione e sottoquery.

CAMBIO ( [ partition_by_clause ] order_by_clause)
partition_by_clause suddivide il set di risultati generato dalla clausola FROM in partizioni alle quali viene applicata la funzione. Se non specificato, la funzione tratta tutte le righe del set di risultati della query come un unico gruppo. order_by_clause determina l'ordine logico in cui viene eseguita l'operazione. order_by_clause è obbligatorio. Per altre informazioni, vedere Clausola OVER (Transact-SQL).

Tipi restituiti

galleggiare

Osservazioni:

Se la funzione VARP viene applicata a tutti gli elementi di un'istruzione SELECT, nel calcolo verrà incluso ogni valore del set di risultati. La funzione VARP può essere utilizzata solo con colonne numeriche. I valori Null vengono ignorati.

VARP è una funzione deterministica quando viene utilizzata senza le clausole ORDER BY e OVER. Non è deterministica quando viene specificata con le clausole ORDER BY e OVER. Per altre informazioni, vedere Funzioni deterministiche e non deterministiche.

Esempi

A: Uso di VARP

Il seguente esempio restituisce la varianza per la popolazione per tutti i valori bonus nella SalesPerson tabella del database AdventureWorks2025.

SELECT VARP(Bonus)  
FROM Sales.SalesPerson;  
GO  

Esempi: Azure Synapse Analytics e Piattaforma di strumenti analitici (PDW)

B: Uso di VARP

Nell'esempio seguente viene restituito il VARP dei valori delle quote di vendita nella tabella dbo.FactSalesQuota. La prima colonna contiene la varianza di tutti i valori distinct e la seconda colonna contiene la varianza di tutti i valori, compresi eventuali valori duplicati.

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

Il set di risultati è il seguente.

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

C. Uso di VARP con OVER

L'esempio seguente restituisce l'elemento VARP dei valori degli obiettivi di vendita per ogni trimestre in un anno di calendario. Si noti che ORDER BY nella clausola OVER ordina la varianza statistica e ORDER BY dell'istruzione SELECT ordina il set di risultati.

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

Il set di risultati è il seguente.

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

Vedi anche

Funzioni di aggregazione (Transact-SQL)
Clausola OVER (Transact-SQL)