Megosztás a következőn keresztül:


CSOPORTOSÍTÁS (Transact-SQL)

A következőkre vonatkozik:SQL ServerAzure SQL DatabaseFelügyelt Azure SQL-példányAzure Synapse AnalyticsSQL Analytics-végpont a Microsoft FabricbenRaktár a Microsoft FabricbenSQL-adatbázis a Microsoft Fabricben

Jelzi, hogy egy meghatározott oszlopkifejezés a GROUP BY listában aggregált-e vagy sem. A CSOPORTOSÍTÁS 1-et ad az aggregált állapotban, 0-ot a nem összesített állapotban az eredményhalmazban. A CSOPORTOSÍTÁS csak a SELECT <kiválasztási> listában, a HAVING és a ORDER BY klauzulákban használható, ha a GROUP BY meg van szabva.

Transact-SQL szintaxis konvenciók

Szemantika

GROUPING ( <column_expression> )  

Arguments

<column_expression>
Egy oszlop vagy kifejezés, amely tartalmaz egy oszlopot egy GROUP BY klauzulában.

Visszatérési típusok

tinyint

Megjegyzések

A CSOPORTOSÍTÁS arra szolgál, hogy megkülönböztetze a ROLLUP, CUBE vagy GROUPING SETS által visszaadott nullértékeket a szabványos nullértékektől. A NULL, amelyet egy ROLLUP, CUBE vagy CSOPORTOSÍTÁS SETS művelet eredményeként tér vissza, a NULL speciális felhasználása. Ez oszlopkitöltőként működik az eredményhalmazban, és mindet jelent.

Példák

Az alábbi példa az AdventureWorks2025 adatbázisban lévő összegeket csoportosítja SalesQuota és összesíti SaleYTD . A GROUPING függvényt az SalesQuota oszlopra alkalmazzuk.

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

Az eredményhalmaz két nullértéket mutat az alatt SalesQuota. Az első NULL a táblázat ezen oszlopának nullértékcsoportját jelenti. A második NULL a ROLLUP művelet által hozzáadott összefoglaló sorban található. Az összefoglaló sor az összes csoport összegeit mutatjaTotalSalesYTD, és az oszlopban van jelölve SalesQuota1.Grouping

Itt van az eredmények összessége.

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)

Lásd még:

GROUPING_ID (Transact-SQL)
CSOPORTOS (Transact-SQL)