1484-按日期分组销售产品

按日期分组销售产品

原文地址:1484. 按日期分组销售产品 - 力扣(LeetCode)

  • 题目如下所示

个人题解

这题也很简单,主要考察到了GROUP_CONCAT函数的用法,感兴趣的可以百度查看一下。以下 SQL 为个人思考过程

  • -- 1. 建表
    CREATE TABLE 1484_Activities(
    	sell_date DATE,
    	product VARCHAR(30)
    );
    -- 没有主键,可能包含重复项
    -- 此表的每一行都包含产品名称和在市场上销售的日期
    
    -- 2. 编写一个 SQL 查询来查找每个日期、销售的不同产品的数量及其名称
    -- 		每个日期的销售产品名称应按词典序排列
    --    返回按 sell_date 排序的结果表
    
    -- 因为查询的是 销售的不同产品的数量 ,所以下面需要使用到 DISTINCT
    SELECT ac.sell_date, COUNT(DISTINCT ac.product) num_sold, GROUP_CONCAT(DISTINCT ac.product) products FROM 1484_Activities ac GROUP BY ac.sell_date ORDER BY ac.sell_date ASC
    
    -- 更完整的 GROUP_CONCAT() 函数用法应该如下所示
    SELECT ac.sell_date, COUNT(DISTINCT ac.product) num_sold, GROUP_CONCAT(DISTINCT ac.product ORDER BY ac.product ASC SEPARATOR ',') products FROM 1484_Activities ac GROUP BY ac.sell_date ORDER BY ac.sell_date ASC
    
    
posted @ 2023-07-11 15:47  OnlyOnYourself-Lzw  阅读(19)  评论(0编辑  收藏  举报