[leetcode]1484. Group Sold Products By The Date

김준석·2024년 8월 13일

코딩테스트 - SQL

목록 보기
89/96

GROUP_CONCAT 이라는 아주 유용한 함수를 새로 배웠다!

GROUP_CONCAT이란?
여러 행을 하나의 행으로 모아주는 것!
예를 들어 아래와 같이 날짜별로 구매상품이 있는 테이블이 있다고 했을 때

날짜를 기준으로 구매상품을 하나의 행으로 모아 주는 것!

문제

https://leetcode.com/problems/group-sold-products-by-the-date/?envType=study-plan-v2&envId=top-sql-50

풀이

SELECT
    sell_date,
    COUNT(DISTINCT product) AS num_sold,
    GROUP_CONCAT(DISTINCT product ORDER BY product SEPARATOR ',') AS products
FROM
    Activities
GROUP BY
    sell_date;

후기

LISTAGG 라는 윈도우 함수를 써도 써도 오류나서 왜그러나 했는데.... 이 함수는 오라클에서만 지원하는 것이였다!(나는 MySQL에서 사용 중..)

SELECT
    sell_date,
    COUNT(DISTINCT product) AS num_sold,
    LISTAGG(product, ',') WITHIN GROUP(ORDER BY product) AS products
FROM
    Activities
GROUP BY
    sell_date;

0개의 댓글