GROUPING(Transact-SQL)

적용 대상: 예SQL Server(지원되는 모든 버전) 예Azure SQL Database 예Azure SQL Managed Instance 예Azure Synapse Analytics

GROUP BY 목록에 지정된 열 식이 집계되었는지 여부를 나타냅니다. GROUPING은 집계된 경우 결과 집합에 1을 반환하고 집계되지 않은 경우 0을 반환합니다. GROUP BY가 지정된 경우 GROUPING은 SELECT <select> 목록, HAVING 및 ORDER BY 절에만 사용할 수 있습니다.

항목 링크 아이콘 Transact-SQL 구문 표기 규칙

구문

GROUPING ( <column_expression> )  

참고

SQL Server 2014 이전 버전의 Transact-SQL 구문을 보려면 이전 버전 설명서를 참조하세요.

인수

<column_expression>
GROUP BY 절에 열을 포함하는 열 또는 식입니다.

반환 형식

tinyint

설명

GROUPING은 ROLLUP, CUBE 또는 GROUPING SETS에서 반환된 Null 값과 표준 Null 값을 구분하기 위해 사용됩니다. ROLLUP, CUBE 또는 GROUPING SETS 작업의 결과로 반환되는 Null은 특별한 Null입니다. 이것은 결과 집합에서 열 자리 표시자로 사용되며 "모두"를 의미합니다.

예제

다음 예에서는 AdventureWorks2012 데이터베이스에서 SalesQuota를 그룹화하고 SaleYTD 금액을 집계합니다. GROUPING 함수는 SalesQuota 열에 적용됩니다.

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

결과 집합에는 SalesQuota 아래 2개의 Null 값이 있습니다. 첫 번째 NULL은 테이블에 있는 이 열의 Null 값 그룹을 나타냅니다. 두 번째 NULL은 ROLLUP 작업으로 추가된 요약 행에 있습니다. 요약 행은 모든 TotalSalesYTD 그룹의 SalesQuota 양을 보여 주고 1 열에서 Grouping로 표시됩니다.

결과 집합은 다음과 같습니다.

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)

참고 항목

GROUPING_ID(Transact-SQL)
GROUP BY(Transact-SQL)