Note
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier les répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de changer de répertoire.
S’applique à :SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Point de terminaison d’analytique SQL dans Microsoft Fabric
Entrepôt dans Microsoft Fabric
Base de données SQL dans Microsoft Fabric
Indique si une expression de colonne spécifiée dans une liste GROUP BY est agrégée ou non. GROUPING retourne 1 pour agrégé ou 0 pour non agrégé dans le jeu de résultats. GROUPING ne peut être utilisé que dans les clauses de la liste <de sélection> SELECT, HAVING, ORDER BY lorsque GROUP BY est spécifié.
Conventions de la syntaxe Transact-SQL
Syntaxe
GROUPING ( <column_expression> )
Arguments
<column_expression>
Colonne ou expression qui contient une colonne dans une clause GROUP BY.
Types de retour
tinyint
Notes
GROUPING sert à distinguer les valeurs NULL retournées par CUBE, ROLLUP ou GROUPING SETS des valeurs NULL standard. La valeur NULL retournée comme résultat d'une opération CUBE, ROLLUP ou GROUPING SETS est une utilisation spéciale de NULL. Elle agit comme espace réservé de colonne dans le jeu de résultats et signifie « All » (tout).
Exemples
L’exemple suivant regroupe SalesQuota et agrége SaleYTD les montants dans la base de données AdventureWorks2025. La fonction GROUPING est appliquée à la colonne SalesQuota.
SELECT SalesQuota, SUM(SalesYTD) 'TotalSalesYTD', GROUPING(SalesQuota) AS 'Grouping'
FROM Sales.SalesPerson
GROUP BY SalesQuota WITH ROLLUP;
GO
Le jeu de résultats indique deux valeurs NULL sous SalesQuota. La première valeur NULL représente le groupe des valeurs NULL de cette colonne dans la table. La seconde valeur NULL se trouve dans la ligne résumée ajoutée par l'opération ROLLUP. La ligne du total indique les montants TotalSalesYTD pour tous les groupes SalesQuota et est indiquée par 1 dans la colonne Grouping.
Voici le jeu de 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)