더북(TheBook)

그룹에 대한 그룹이 필요한 경우도 있습니다. 이런 경우에는 GROUP BY 절 뒤에 순서대로 기술하기만 하면 그 순서대로 그룹화하여 정렬됩니다. 예를 들어 GROUP BY 대그룹, 중그룹, 소그룹의 형태로 응용할 수 있습니다.

다음 코드를 살펴봅시다.

SELECT job_id job_id_대그룹,

       manager_id manager_id_중그룹,

       SUM(salary) 그룹핑_총급여,

       AVG(salary) 그룹핑_평균급여

FROM   employees

WHERE  employee_id >= 10

GROUP BY job_id, manager_id ----job_id별로 한 번 그룹화하고 manager_id별로 다시 한 번 그룹화

ORDER BY 그룹핑_총급여 DESC, 그룹핑_평균급여;

 

실행 결과

 

GROUP BY 절에서 job_id, manager_id로 열 이름을 순서대로 기술하여 대그룹화와 중그룹화하였고, 그룹화된 집합에 대해 그룹 함수를 적용해 결과를 출력했습니다. 즉, job_id별로 첫 번째 그룹화가 되었고 여러 개의 중그룹을 갖는 SA_REP에 대해서는 두 번째로 manager_id별로 그룹화되어 총 급여와 평균 급여가 계산된 것을 알 수 있습니다. 이렇듯 GROUP BY 절은 사용자가 원하는 형태의 데이터 값을 그룹화하여 결괏값을 출력할 때 사용합니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.