1484. Group Sold Products By The Date

 

按照sell_date列对数据进行分组,为了得到num_sold列,我们使用COUNT(DISTINCT product)来统计每个销售日期售出的唯一产品的数量。

使用GROUP_CONCAT()将多行中的多个值组成一个字符串:

GROUP_CONCAT(
    DISTINCT expression1
    ORDER BY expression2
    SEPARATOR sep
);

关键词 DISTINCT 确保了 expression1 列中的每个名称在连接的字符串中只包含一次。请注意,我们需要对唯一的名称进行升序排序,这是默认的顺序,因此可以省略参数 expression2。关键字 SEPARATOR 指定产品名称应以 sep 分隔。总而言之,我们使用 GROUP_CONCAT 如下。

GROUP_CONCAT(
    DISTINCT product
    SEPARATOR ','
);

这会将不同的产品名称连接到每个销售日期的单个字符串中。最后,我们根据 sell_date 对最终结果进行升序排序。这确保输出表的组织顺序是从最早的销售日期到最晚的销售日期。

复制代码
SELECT 
    sell_date,
    COUNT(DISTINCT(product)) AS num_sold, 
    GROUP_CONCAT(DISTINCT product ORDER BY product SEPARATOR ',') AS products
FROM 
    Activities
GROUP BY 
    sell_date
ORDER BY 
    sell_date ASC;
复制代码

 

posted @   我是球啊  阅读(12)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
点击右上角即可分享
微信分享提示