본문 바로가기

Algorithm/SQL

(SQL) - LeetCode (easy) 1484. Group Sold Products By The Date

반응형

https://leetcode.com/problems/group-sold-products-by-the-date/ 

언어별 group by 시 연속되는 문자열을 포함하는 여러 방식을 사용해본 문제였습니다.

📕 풀이방법

📔 풀이과정

sell_date와 distinct한 product 개수 num_sold와, group 화 된 product는 나열할 수 있는 MySQL의 GROUP_CONCAT나 PostgreSQL의 STRING_AGG나 Oracle의 LISTAGG를 사용해 products열을 select해줍니다.


📕 Code

📔 MySQL

SELECT 
    sell_date, 
    COUNT(DISTINCT product) AS num_sold, 
    GROUP_CONCAT(DISTINCT product ORDER BY product ASC) AS products
FROM activities
GROUP BY sell_date;

📔 PostgreSQL

SELECT 
    sell_date, 
    COUNT(DISTINCT product) AS num_sold, 
    STRING_AGG(DISTINCT product, ',' ORDER BY product) AS products
FROM activities
GROUP BY sell_date;

*더 나은 내용을 위한 지적, 조언은 언제나 환영합니다.