nullジマ

GROUP BY

GROUP BY는 지정한 컬럼의 값이 같은 행들을 하나의 그룹으로 묶어 집계 함수와 함께 사용합니다. 그룹별로 집계하기

기본 문법

SELECT 그룹컬럼, 집계함수(컬럼)
FROM 테이블명
GROUP BY 그룹컬럼;

예제

부서별 직원 수

부서 ID 기준으로 그룹을 만들고 COUNT()로 직원 수를 셉니다.

SELECT department_id, COUNT(*) AS 직원수 FROM employees GROUP BY department_id;

부서별 평균 급여

AVG() 함수로 그룹별 평균을 구합니다.

SELECT department_id, AVG(salary) AS 평균급여 FROM employees GROUP BY department_id;

카테고리별 상품 수와 평균가

여러 집계 함수를 동시에 사용할 수 있습니다.

SELECT category, COUNT(*) AS 수량, AVG(price) AS 평균가격 FROM products GROUP BY category;

알아두면 좋은 것

  • GROUP BY에 없는 컬럼은 SELECT에 집계 함수 없이 사용할 수 없습니다.
  • COUNT(*): 전체 행 수, COUNT(컬럼): NULL 제외한 행 수
  • HAVING으로 그룹 결과에 조건을 추가할 수 있습니다.

연습 문제