Développer Réduire
Ce sujet n'a pas encore été évalué - Évaluez ce sujet

GROUPING (Transact-SQL)

Fonction d'agrégation qui provoque la sortie d'une colonne supplémentaire avec la valeur 1 lorsqu'une ligne est ajoutée par l'opérateur CUBE ou ROLLUP, ou la valeur 0 lorsque la ligne n'est pas le résultat de CUBE ou ROLLUP.

Le regroupement n'est autorisé que dans la liste de sélection associée à une clause GROUP BY qui contient un opérateur CUBE ou ROLLUP.

Icône Lien de rubrique Conventions de la syntaxe de Transact-SQL


GROUPING ( column_name ) 
column_name

Colonne dans une clause GROUP BY qui permet de tester les valeurs NULL de CUBE ou ROLLUP.

Le regroupement sert à distinguer les valeurs NULL retournées par CUBE et ROLLUP à partir des valeurs NULL standard. La valeur NULL retournée comme résultat d'une opération CUBE ou ROLLUP est une utilisation spéciale de NULL. Elle agit comme un espace réservé d'une colonne dans l'ensemble de résultats et signifie « tout ».

L'exemple suivant regroupe SalesQuota et totalise les montants SaleYTD. La fonction GROUPING est appliquée à la colonne SalesQuota.

USE AdventureWorks;
GO
SELECT SalesQuota, SUM(SalesYTD) 'TotalSalesYTD', GROUPING(SalesQuota) AS 'Grouping'
FROM Sales.SalesPerson
GROUP BY SalesQuota WITH ROLLUP;
GO

L'ensemble de résultats indique deux valeurs NULL sous SalesQuota. La première NULL représente le groupe des valeurs NULL de cette colonne dans la table. La seconde NULL se trouve dans la ligne résumée ajoutée par l'opération ROLLUP. La ligne résumée indique le montant de TotalSalesYTD pour tous les groupes SalesQuota et est indiqué par la valeur 1 dans la colonne Grouping.

Voici l'ensemble des résultats.

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)

Historique des modifications

Version Historique

12 décembre 2006

Contenu modifié :
  • Suppression de la clause OVER.
Cela vous a-t-il été utile ?
(1500 caractères restants)

Ajouts de la communauté

AJOUTER
© 2013 Microsoft. Tous droits réservés.