supergravity
mysql - GROUP_CONCAT 본문
목차
시작
예제
정리
시작
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