GROUPING(Transact-SQL)
적용 대상: SQL Server Azure SQL 데이터베이스 Azure SQL Managed Instance Azure Synapse Analytics Microsoft Fabric의 SQL 분석 엔드포인트 Microsoft Fabric의 웨어하우스
GROUP BY 목록에 지정된 열 식이 집계되었는지 여부를 나타냅니다. GROUPING은 집계된 경우 결과 집합에 1을 반환하고 집계되지 않은 경우 0을 반환합니다. GROUP BY 절이 지정된 경우 GROUPING은 SELECT <select> 목록, HAVING 및 ORDER BY 절에만 사용할 수 있습니다.
구문
GROUPING ( <column_expression> )
인수
<column_expression>
GROUP BY 절에 열을 포함하는 열 또는 식입니다.
반환 형식
tinyint
설명
GROUPING은 ROLLUP, CUBE 또는 GROUPING SETS에서 반환된 Null 값과 표준 Null 값을 구분하기 위해 사용됩니다. ROLLUP, CUBE 또는 GROUPING SETS 작업의 결과로 반환되는 Null은 특별한 Null입니다. 이것은 결과 집합에서 열 자리 표시자로 사용되며 "모두"를 의미합니다.
예제
다음 예제에서는 AdventureWorks2022 SaleYTD
데이터베이스에서 금액을 그룹 SalesQuota
화하고 집계합니다. 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)