다음을 통해 공유


GROUP BY 구성 요소

GROUP BY 절은 다음 구성 요소로 이루어집니다.

  • 하나 이상의 비집계 식. 대개 그룹화 열에 대한 참조입니다.
  • 일부 그룹에 검색 조건을 충족하는 행이 없어도 GROUP BY 절에서 생성되는 모든 그룹을 반환하도록 지정하는 ALL 키워드(옵션)
  • CUBE 또는 ROLLUP
  • 별개로 지정할 수 있지만 대개 GROUP BY 절과 함께 사용하는 HAVING 절

식에 집계 함수가 포함되지 않는 경우 식으로 그룹화할 수 있습니다. 예를 들면 다음과 같습니다.

SELECT DATEPART(yy, HireDate) AS Year,
       COUNT(*) AS NumberOfHires
FROM AdventureWorks.HumanResources.Employee
GROUP BY DATEPART(yy, HireDate)

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

Year        NumberOfHires
----------- -------------
1997        2
2001        21
2000        45
1996        1
2003        3
1999        198
1998        16
2002        4

(8 row(s) affected)

GROUP BY에서는 AS 절이 할당된 결과 집합 열의 이름이 아니라 테이블 또는 뷰 열의 이름을 지정해야 합니다. 예를 들어 GROUP BY DATEPART(yy, HireDate) 절을 GROUP BY Year로 바꿀 수 없습니다.

GROUP BY 절에서 둘 이상의 열을 중첩 그룹으로 나열할 수 있습니다. 즉, 열을 조합하여 테이블을 그룹화할 수 있습니다. 예를 들어 다음 쿼리에서는 제품 ID와 특별 행사 ID로 그룹화된 평균 가격 및 연간 총 매출액을 검색합니다.

USE AdventureWorks;
GO
SELECT ProductID, SpecialOfferID, AVG(UnitPrice) AS 'Average Price', 
    SUM(LineTotal) AS SubTotal
FROM Sales.SalesOrderDetail
GROUP BY ProductID, SpecialOfferID
ORDER BY ProductID
GO

참고 항목

관련 자료

SELECT(Transact-SQL)

도움말 및 정보

SQL Server 2005 지원 받기