Condividi tramite


STDEVP (Transact-SQL)

Si applica a: SQL Server Database SQL di Azure Istanza gestita di SQL di Azure Azure Synapse Analytics Piattaforma di strumenti analitici (PDW) Endpoint di analisi SQL in Microsoft Fabric Warehouse in Microsoft Fabric

Restituisce la deviazione statistica standard relativa al popolamento di tutti i valori dell'espressione specificata.

Convenzioni relative alla sintassi Transact-SQL

Sintassi

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

Argomenti

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

DISTINCT
Consente di considerare ogni valore univoco.

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

OVER ( [ 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

float

Osservazioni:

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

STDEVP è 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 STDEVP

Nell'esempio seguente viene restituita la deviazione standard per la popolazione per tutti i valori bonus nella SalesPerson tabella del database AdventureWorks2022.

SELECT STDEVP(Bonus)  
FROM Sales.SalesPerson;  
GO  

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

B: uso di STDEVP

Nell'esempio seguente viene restituita la STDEVP dei valori quota di vendite nella tabella dbo.FactSalesQuota. La prima colonna contiene la deviazione standard di tutti i valori distinct e la seconda colonna contiene la deviazione standard di tutti i valori, compresi eventuali valori duplicati.

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

Il set di risultati è il seguente.

Distinct_Values   All_Values  
----------------  ----------------  
397676.79         397226.44

C. Uso di STDEVP con OVER

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

-- Uses AdventureWorks  
  
SELECT CalendarYear AS Year, CalendarQuarter AS Quarter, SalesAmountQuota AS SalesQuota,  
       STDEVP(SalesAmountQuota) OVER (ORDER BY CalendarYear, CalendarQuarter) AS StdDeviation  
FROM dbo.FactSalesQuota  
WHERE EmployeeKey = 272 AND CalendarYear = 2002  
ORDER BY CalendarQuarter;  

Il set di risultati è il seguente.

Year  Quarter  SalesQuota              StdDeviation  
----  -------  ----------------------  -------------------  
2002  1         91000.0000             0.00  
2002  2        140000.0000             24500.00  
2002  3         70000.0000             29329.55  
2002  4        154000.0000             34426.55

Vedi anche

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