Sdílet prostřednictvím


SKUPINOVÁNÍ (Transact-SQL)

Platí pro:SQL ServerAzure SQL DatabaseSpravovaná instance Azure SQLAzure Synapse AnalyticsKoncový bod analýzy SQL v Microsoft FabricSklad v Microsoft FabricDatabáze SQL v Microsoft Fabric

Označuje, zda je specifikovaný sloupcový výraz v seznamu GROUP BY agregovaný nebo nikoliv. GROUPING vrací 1 pro agregované nebo 0 pro neagregované ve výsledné sadě. GROUPING lze použít pouze v seznamu SELECT<>, HAVING a ORDER BY, pokud je specifikováno GROUP BY.

Transact-SQL konvence syntaxe

Syntaxe

GROUPING ( <column_expression> )  

Arguments

<column_expression>
Je sloupec nebo výraz, který obsahuje sloupec v klauzuli GROUP BY .

Návratové typy

tinyint

Poznámky

GROUPING se používá k rozlišení nulových hodnot, které jsou vráceny množinami ROLLUP, CUBE nebo GROUPING od standardních nulových hodnot. NULL vrácený jako výsledek operací ROLLUP, CUBE nebo GROUPING SETS je speciálním použitím NULL. To funguje jako zástupce sloupců ve výsledné množině a znamená vše.

Examples

Následující příklady seskupují SalesQuota a agregují SaleYTD částky v databázi AdventureWorks2025. Funkce GROUPING se aplikuje na sloupec SalesQuota .

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

Výsledná množina ukazuje dvě nulové hodnoty pod .SalesQuota První NULL představuje skupinu nulových hodnot z tohoto sloupce v tabulce. Druhý NULL je v souhrnném řádku přidaném operací ROLLUP. Souhrnný řádek ukazuje částky TotalSalesYTD pro všechny SalesQuota skupiny a je označen jako 1Grouping sloupec.

Tady je soubor výsledků.

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)

Viz také

GROUPING_ID (Transact-SQL)
SKUPINA PODLE (Transact-SQL)