Agrupa los productos vendidos por fecha

Escribe una solución para encontrar para cada fecha el número de productos diferentes vendidos y sus nombres. Los nombres de los productos vendidos en cada fecha deben ordenarse lexicográficamente. Regresa el resultado ordenado por `sell_date`.

#database

Tabla Activities:

+-------------+---------+
| Column Name | Type    |
+-------------+---------+
| sell_date   | date    |
| product     | varchar |
+-------------+---------+

- No hay llave primaria (columna con valores únicos) para esta tabla. Puede contener duplicados.
- Cada fila de esta tabla contiene el nombre del producto y la fecha en que fue vendido en un mercado.

El formato del resultado se muestra en el siguiente ejemplo.

Ejemplo 1:

Entrada:

Tabla Activities:
+------------+------------+
| 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    |
+------------+------------+

Salida:

+------------+----------+------------------------------+
| sell_date  | num_sold | products                     |
+------------+----------+------------------------------+
| 2020-05-30 | 3        | Basketball,Headphone,T-shirt |
| 2020-06-01 | 2        | Bible,Pencil                 |
| 2020-06-02 | 1        | Mask                         |
+------------+----------+------------------------------+

Explicación:
- Para el 2020-05-30, Los productos vendidos fueron (Headphone, Basketball, T-shirt), los ordenamos lexicográficamente y los separamos con una coma.
- Para el 2020-06-01, Los productos vendidos fueron (Pencil, Bible), los ordenamos lexicográficamente y los separamos con una coma.
- Para el 2020-06-02, El producto vendido fue (Mask), solo lo regresamos.

Solución

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

slackmart blog © 2024