inblog logo
|
stupefyee
    SQL문제풀기

    [SQL 문제 풀이] Group Sold Products By The Date (날짜별 그룹 판매 제품)

    Stupefyee's avatar
    Stupefyee
    May 13, 2025
    [SQL 문제 풀이] Group Sold Products By The Date (날짜별 그룹 판매 제품)
    Contents
    내가 작성한 쿼리
    leetcode.com
    https://leetcode.com/problems/group-sold-products-by-the-date/description/
    notion image
    각 날짜마다 판매된 다양한 제품의 수와 이름을 찾기 위한 해결책을 작성하세요. 각 날짜의 판매 제품 이름은 사전적으로 정렬해야 합니다. sell_date로 주문한 결과 테이블을 반환합니다.
     

    내가 작성한 쿼리

    Oracle

    SELECT TO_CHAR(sell_date, 'YYYY-MM-DD') AS sell_date, COUNT(*) AS num_sold, LISTAGG(product, ',') WITHIN GROUP (ORDER BY product) AS products FROM ( SELECT DISTINCT sell_date, product FROM Activities ) GROUP BY sell_date;

    MySQL

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

    차이점

    • 날짜 표기 방식 차이
    • 컬럼을 한줄로 합칠 때 사용하는 함수의 차이
      • Oracle
        • LISTAGG(컬럼, 구분자) WITHIN GROUP (ORDER BY 컬럼) 사용
        • 정렬 기준을 명확히 지정해야 함
        • 긴 문자열 합칠 경우 ORA-01489: result of string concatenation is too long 오류 발생 가능
      • MySQL
        • GROUP_CONCAT() 사용
        • SEPARATOR 키워드로 구분자 지정 가능
        • 기본 문자열 길이 제한 있음 (group_concat_max_len으로 조절 가능)
     
    Share article
    Contents
    내가 작성한 쿼리

    stupefyee

    RSS·Powered by Inblog