https://leetcode.com/problems/group-sold-products-by-the-date/description/
Column Name | Type |
sell_date | date |
product | varchar |
Activities 테이블:
- sell_date : 상품이 판매된 날짜
- product : 상품의 이름
각 날짜별로 판매된 서로 다른 제품의 수와 그 이름을 찾으세요.
SELECT *
FROM Activities
group by sell_date, product
완전히 동일한 데이터를 제거하기 위해서 두 열을 모두 그룹화한다.
select *
from
(SELECT *
FROM Activities
group by sell_date, product) a
group by sell_date
날짜별 상품의 숫자를 계산하기 위해서 날짜별로 그룹화한다.
select
sell_date,
count(product) num_sold
from
(SELECT *
FROM Activities
group by sell_date, product) a
group by sell_date
날짜와 날짜별 상품의 갯수를 출력한다.
select
sell_date,
count(product) num_sold,
group_concat(product order by product separator ',') products
from
(SELECT *
FROM Activities
group by sell_date, product) a
group by sell_date
group_concat을 사용해서 조건에 맞는 priduct들을 결합한다.
priduct를 오름차순 정렬해서 ','로 구분해여 출력한다.
'코딩일기' 카테고리의 다른 글
SQL 코드카타 126 - Find Users With Valid E-Mails (0) | 2024.07.15 |
---|---|
SQL 코드카타 125 - List the Products Ordered in a Period (1) | 2024.07.14 |
SQL 코드카타 123 - Second Highest Salary (1) | 2024.07.14 |
SQL 코드카타 121 - Patients With a Condition (0) | 2024.07.14 |
SQL 코드카타 120 - Fix Names in a Table (0) | 2024.07.14 |