[SQL] LeetCode > 1484. Group Sold Products By The Date

eun·2022년 6월 17일
0

LeetCode

목록 보기
3/5
post-thumbnail

1484. Group Sold Products By The Date


Link

Write an SQL query to find for each date the number of different products sold and their names.

The sold products names for each date should be sorted lexicographically.

Return the result table ordered by sell_date.

The query result format is in the following example.

풀이


📌 GROUP_CONCAT

  • GROUP BY로 그룹화 한 데이터 확인시
    특정 칼럼에서 ,(콤마)로 나열하여 조회하기
SELECT GROUP_CONCAT(COL2)
FROM 테이블명
GROUP BY COL1
  • GROUP_CONCAT 내에서 정렬하기
SELECT GROUP_CONCAT(COL2 ORDER BY COL2 DESC)
FROM 테이블명
GROUP BY COL1
  • GROUP_CONCAT 내에서 유일한 값(uniqu) 만 출력하기
SELECT GROUP_CONCAT(DISTINCT COL2)
FROM 테이블명
GROUP BY COL1

  1. 날짜별 데이터를 확인하기 위해, GROUP BY 사용
  1. num_sold 칼럼을 만들기 위해,COUNT() 사용
  • 문제에서 the number of different products sold 라고 했으므로, 중복 products는 한 번만 카운트 해주기 위해서 DISTINCT 조건 추가
  1. Output의 products 칼럼처럼 함께 그룹핑 된 products를 ,(콤마)로 나열하여 조회하기 위해서 GROUP_CONCAT 사용
  • 마찬가지로 중복 products 는 한 번만 출력해주기 위해서 DISTINCT 조건 추가
  • The sold products names for each date should be sorted lexicographically 라고 제시했으므로, ORDER BY 정렬

My Answer


SELECT sell_date
     , COUNT(DISTINCT product) num_sold
     , GROUP_CONCAT(DISTINCT product ORDER BY product) products
FROM activities
GROUP BY sell_date
profile
study archive 👩‍💻

0개의 댓글