1484-按日期分组销售产品
按日期分组销售产品
- 题目如下所示
个人题解
这题也很简单,主要考察到了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