信息发布→ 登录 注册 退出

如何用 SQL 查询每个产品在特定日期的销量并按日期汇总?

发布时间:2024-10-25

点击量:

关于mysql中数据查询基础问题的解答

问题:

如何根据给定表格中的数据,使用sql查询每个产品在特定日期的销量,并将其按日期汇总?

示例表格:

日期 产品 销量
2025-1-1 a 3
2025-1-1 b 7
2025-1-1 a 2
2025-1-2 b 1
2025-1-2 a 3
2025-1-2 b 6

预期结果:

产品 2025-1-1 2025-1-2
a 5 3
b 3 7

错误代码分析:

提供的sql代码错误在于它使用了一个left join,而这在此情况下并不适用。left join用于连接两个表,其中一个表可以包含可能与另一个表中不存在的记录相关联的记录。在本例中,没有理由将两个子查询连接起来。

正确的sql查询:

SELECT
    产品 AS 产品销量,
    SUM(CASE
        WHEN 日期 = '2025-1-1' THEN 销量
        ELSE 0
    END) AS '2025-1-1',
    SUM(CASE
        WHEN 日期 = '2025-1-2' THEN 销量
        ELSE 0
    END) AS '2025-1-2'
FROM
    mytable
GROUP BY
    产品;
标签:# mysql  # sql  # 在此  # 用了  # 相关联  # 而这  # 其中一个  # 能与  # 中不  # 没有理由  # 它使  # 本例  
在线客服
服务热线

服务热线

4008888355

微信咨询
二维码
返回顶部
×二维码

截屏,微信识别二维码

打开微信

微信号已复制,请打开微信添加咨询详情!