Group Sold Products By The Date Problem
Description
LeetCode Problem 1484.
Table Activities:
1
2
3
4
5
6
7
8
+-------------+---------+
| Column Name | Type    |
+-------------+---------+
| sell_date   | date    |
| product     | varchar |
+-------------+---------+
There is no primary key for this table, it may contains duplicates.
Each row of this table contains the product name and the date it was sold in a market.
Write an SQL query to find for each date, the number of distinct 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.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
Activities table:
+------------+-------------+
| sell_date  | product     |
+------------+-------------+
| 2020-05-30 | Headphone   |
| 2020-06-01 | Pencil      |
| 2020-06-02 | Mask        |
| 2020-05-30 | Basketball  |
| 2020-06-01 | Bible       |
| 2020-06-02 | Mask        |
| 2020-05-30 | T-Shirt     |
+------------+-------------+
Result table:
+------------+----------+------------------------------+
| sell_date  | num_sold | products                     |
+------------+----------+------------------------------+
| 2020-05-30 | 3        | Basketball,Headphone,T-shirt |
| 2020-06-01 | 2        | Bible,Pencil                 |
| 2020-06-02 | 1        | Mask                         |
+------------+----------+------------------------------+
For 2020-05-30, Sold items were (Headphone, Basketball, T-shirt), we sort them lexicographically and separate them by comma.
For 2020-06-01, Sold items were (Pencil, Bible), we sort them lexicographically and separate them by comma.
For 2020-06-02, Sold item is (Mask), we just return it.
MySQL Solution
1
2
3
4
select sell_date, count(distinct product) as num_sold,  group_concat(distinct product) as products
from Activities 
group by sell_date
order by sell_date
    LeetCode Database - Easy
    
    
        LeetCode 1407
    
    
        LeetCode 1435
    
    
        LeetCode 1484
    
    
        LeetCode 1495
    
    
        LeetCode 1511
    
    
        LeetCode 1517
    
    
        LeetCode 1527
    
    
        LeetCode 1543
    
    
        LeetCode 1565
    
    
        LeetCode 1571
    
    
        LeetCode 1581
    
    
        LeetCode 1587
    
    
        LeetCode 1607
    
    
        LeetCode 1623
    
    
        LeetCode 1633
    
    
        LeetCode 1661
    
    
        LeetCode 1667
    
    
        LeetCode 1677
    
    
        LeetCode 1683
    
    
        LeetCode 1693
    
    
        LeetCode 1729
    
    
        LeetCode 1731
    
    
        LeetCode 1741
    
    
        LeetCode 1757
    
    
        LeetCode 1777
    
    
        LeetCode 1789
    
    
        LeetCode 1795
    
    
        LeetCode 1809
    
    More LeetCode Database
    MySQL Tutorials