본문 바로가기

프로그래밍/SQL

[SQL 요약 정리] 1-5. SUBGROUP으로 데이터분류

5. SUBGROUP으로 데이터분류


1) GROUP BY와 HAVING절

- GROUP BY: 전체 데이터를 소그룹으로 나눌 칼럼 명시

- HAVING: GROUP에 대한 조건 기술


- 문형

SELECT 칼럼명, GROUP 함수

FROM 테이블명

WHERE 조건식

GROUP BY 칼럼명

HAVING 조건식

ORDER BY 칼럼이나 표현식;


- 예시

SELECT dept_id, AVG(salary)

FROM s_emp

WHERE title = '사원'

GROUP BY dept_id;


- HAVING절 예시

SELECT title, AVG(salary), COUNT(*)

FROM s_emp

GROUP BY title;

HAVING COUNT(*) > 2;


2) GROUP을 SUBGROUP으로 세분화

- GROUP BY절 이하에 GROUP으로 나누고자 하는 칼럼을 기술함으로써 그룹 세분화

- 문형

SELECT dept_id, title, COUNT(*)

FROM s_emp

GROUP BY dept_id, title;