GROUPING (Transact-SQL)
Funzione di aggregazione che consente di includere nell'output una colonna aggiuntiva con valore 1 se la riga viene aggiunta tramite l'operatore CUBE o ROLLUP e con valore 0 se la riga non è stata aggiunta tramite questi operatori.
Il raggruppamento è consentito solo nell'elenco di selezione associato a una clausola GROUP BY che include l'operatore CUBE o ROLLUP.
Convenzioni della sintassi Transact-SQL
Sintassi
GROUPING ( column_name )
Argomenti
- column_name
Colonna di una clausola GROUP BY in cui eseguire la ricerca di valori Null relativi a CUBE o ROLLUP.
Tipi restituiti
tinyint
Osservazioni
Il raggruppamento viene utilizzato per distinguere i valori Null restituiti da CUBE e ROLLUP dai valori Null standard. Il risultato Null restituito da un'operazione CUBE o ROLLUP rappresenta un utilizzo particolare dei valori Null. Funge infatti da segnaposto di colonna nel set di risultati e corrisponde a "tutti".
Esempi
Nell'esempio seguente vengono raggruppati gli importi della colonna SalesQuota
e quindi aggregati quelli della colonna SaleYTD
. La funzione GROUPING
viene applicata alla colonna SalesQuota
.
USE AdventureWorks;
GO
SELECT SalesQuota, SUM(SalesYTD) 'TotalSalesYTD', GROUPING(SalesQuota) AS 'Grouping'
FROM Sales.SalesPerson
GROUP BY SalesQuota WITH ROLLUP;
GO
Il set di risultati include due valori Null per SalesQuota
. Il primo valore NULL
rappresenta il gruppo di valori Null che derivano dalla colonna della tabella, il secondo valore NULL
è incluso nella riga di riepilogo aggiunta dall'operazione ROLLUP. La riga di riepilogo indica gli importi della colonna TotalSalesYTD
per tutti i gruppi SalesQuota
ed è rappresentata dal valore 1
nella colonna Grouping
.
Set di risultati:
SalesQuota TotalSalesYTD Grouping
--------- ------------- --------
NULL 1533087.5999 0
250000.00 33461260.59 0
300000.00 9299677.9445 0
NULL 44294026.1344 1
(4 row(s) affected)
Cronologia modifiche
Versione | Cronologia |
---|---|
12 dicembre 2006 |
|
Vedere anche
Riferimento
Funzioni di aggregazione (Transact-SQL)
SELECT (Transact-SQL)