본문 바로가기

프로그래밍/Database

MySQL_GROUP BY절

GROUP BY 절

GROUP BY 절은 데이터들을 원하는 그룹으로 나눌 수 있다.

나누고자 하는 그룹의 컬럼명을 SELECT절과 GROUP BY절 뒤에 추가하면 된다.

집계함수와 함께 사용되는 상수는 GROUP BY절에 추가하지 않아도 된다.

 

GROUP BY 예제

1
2
3
4
5
6
7
8
9
-- 1
SELECT * 
FROM employees 
GROUP BY gender;
 
-- 2
SELECT *, COUNT(*)
FROM employees
GROUP BY gender;
cs

→ GROUP BY를 이용하여 성별로 나눈 예제이다.

 

<결과 화면 1>

<결과 화면 2>

 

1
2
3
4
5
6
7
8
SELECT e.emp_no, e.first_name, d.dept_no, dp.dept_name
FROM employees AS e 
LEFT JOIN dept_emp AS d -- dept_emp 중간 테이블
ON e.emp_no = d.emp_no
LEFT JOIN departments AS dp
ON d.dept_no = dp.dept_no
GROUP BY dept_no
HAVING dept_no = 'd001';
cs

 

→ employees를 기본테이블로 LEFT JOIN하여 GROUP BY를 사용하여 dept_no로 나눈 후 dept_no가 'd001'인 사람의 정보를 출력하는 예제이다.

→ GROUP BY 절에서는 WHERE 절 대신 HAVING 절을 사용해야 한다.

'프로그래밍 > Database' 카테고리의 다른 글

Oracle_WHERE 1=1  (0) 2023.08.29
MySQL_JAVA DB 연결 (select, delete)  (0) 2023.03.14
MySQL_N : M 관계  (0) 2023.03.10
MySQL_MySQL FUNCTION  (0) 2023.03.10
MySQL_JOIN 구문 INNER JOIN, LEFT JOIN, RIGHT JOIN  (0) 2023.03.10