꿈은 데이터분석가, 취미는 계획

[MY SQL] 여러 행(레코드)의 값을 하나의 문자열로 결합 본문

SQL/SQL문풀

[MY SQL] 여러 행(레코드)의 값을 하나의 문자열로 결합

data_2080 2024. 12. 18. 20:10
728x90

출처: [leetcode - SQL50] :  1484. Group Sold Products By The Date

문제:  날짜별 판매된 제품 종류의 수, 제품 이름


1. GROUP _CONCAT 활용하기

날짜별 판매제품 테이블에서, 날짜별 판매된 제품의 종류 수와 이름을 출력하는 쿼리 GROUP_CONCAT

여러 행에 있는 값을 하나의 문자열로 결합해준다.

 

GROUP_CONCAT (컬럼명 SEPARATOR '구분자')  AS 별칭

=> SEPARATOR를 지정하지 않는 경우 ','이 기본으로 사용된다. 

SELECT sell_date, 
        COUNT(DISTINCT product) AS num_sold
        , GROUP_CONCAT(DISTINCT product ORDER BY product) AS products
FROM Activities
GROUP BY sell_date
ORDER BY sell_date
728x90