SQL

[MySQL] GROUP BY

SangRok Jung 2022. 9. 17. 19:41
반응형

GROUP BY


특정한 열을 그룹화하여 조회한다.

 

* 삼성전자에서 교육을 할 만큼 실무에서 많이 쓰인다.

 

 

 

 

 

 

 

 

▶ 기본 문법

SELECT * FROM 테이블명 GROUP BY 열1, 열2...

 

 

▶ 그룹화 후 조건 처리

SELECT * FROM 테이블명 GROUP BY 열1, 열2... HAVING 조건

 

 

 

예제


▶ 상품의 합계를 구한다.

SELECT * FROM sample51;
+------+------+----------+
| no   | name | quantity |
+------+------+----------+
|    1 | A    |        1 |
|    2 | A    |        2 |
|    3 | B    |       10 |
|    4 | C    |        3 |
|    5 | NULL |     NULL |
+------+------+----------+

SELECT name, SUM(quantity)'상품 합계' FROM sample51 GROUP BY name;
+------+---------------+
| name | 상품 합계     |
+------+---------------+
| A    |             3 |
| B    |            10 |
| C    |             3 |
| NULL |          NULL |
+------+---------------+

 

 

 

▶ HAVING구문 사용 예.

SELECT name, COUNT(name) FROM sample51 GROUP BY name HAVING COUNT(name) = 1;
+------+-------------+
| name | COUNT(name) |
+------+-------------+
| B    |           1 |
| C    |           1 |
+------+-------------+

 

 

 

 

 

▶ ORDER BY 구문 추가.

SELECT name, COUNT(name), SUM(quantity) FROM sample51 GROUP BY name ORDER BY SUM(quantity)DESC ;
+------+-------------+---------------+
| name | COUNT(name) | SUM(quantity) |
+------+-------------+---------------+
| B    |           1 |            10 |
| A    |           2 |             3 |
| C    |           1 |             3 |
| NULL |           0 |          NULL |
+------+-------------+---------------+

 

반응형

'SQL' 카테고리의 다른 글

[MySQL] VIEW  (0) 2022.09.20
[MySQL] INDEX  (0) 2022.09.19
[MySQL] 데이터베이스 객체, 스키마  (0) 2022.09.17
[MySQL] SubQuery  (0) 2022.09.17
[MySQL] 테이블 추가, 삭제  (0) 2022.09.17