supergravity

mysql - GROUP_CONCAT 본문

콘텐츠/mysql - 문법 기초

mysql - GROUP_CONCAT

supergravity 2021. 11. 27. 16:44

목차

시작

예제

정리

 

시작 

group으로 묶고 그룹으로 묶인 데이터를 문자열로 표현하고 싶은 경우,

group_concat함수를 사용합니다.

sum, avg , count처럼 group by와 함께 사용됩니다.

 

예제

아래의 예제는 test 테이블에서 날짜별로 묶고,

그날 팔린 각기 다른 물건의 수와 물건을 출력하는 구문을 만드는 예제입니다. 

test table:
+------------+------------+
| sell_date  | product     |
+------------+------------+
| 2021-05-30 | 물건1        |
| 2021-06-01 | 연필         |
| 2021-06-02 | 옷           |
| 2021-05-30 | A           |
| 2021-06-01 | b           |
| 2021-06-02 | D           |
| 2021-05-30 | T           |
+------------+------------+

Output: 
+------------+----------+------------------------------+
| sell_date  | num_sold | products                     |
+------------+----------+------------------------------+
| 2021-05-30 | 3        | 물건1,A,T                     |
| 2021-06-01 | 2        | b,연필                        |
| 2021-06-02 | 1        | 옷                            |
+------------+----------+------------------------------+
SELECT sell_date,
		COUNT(DISTINCT(product)) AS num_sold, 
		GROUP_CONCAT(DISTINCT product ORDER BY product ASC SEPARATOR ',') AS products
FROM test
GROUP BY sell_date
ORDER BY sell_date ASC

 

정리

일반적으로 group_concat함수는 수업에서 다루지 않는 함수입니다.

하지만 자주 사용됩니다.

여기서 학습해야 할 점은

'모르는 혹은 있을 것 같은 느낌이 들었을 때,

구글링을 활용하여 함수를 찾아서 사용해야 한다'

입니다.

 

'콘텐츠 > mysql - 문법 기초' 카테고리의 다른 글

mysql - rank, dense_rank, row_number  (0) 2021.11.26
mysql - 서브쿼리(subquery) 응용  (0) 2021.11.22
MYSQL - 문법 정리 : mysql  (0) 2021.11.09
Comments