
关于mysql中数据查询基础问题的解答
问题:
如何根据给定表格中的数据,使用sql查询每个产品在特定日期的销量,并将其按日期汇总?
示例表格:
| 日期 | 产品 | 销量 |
|---|---|---|
| 2021-1-1 | a | 3 |
| 2021-1-1 | b | 7 |
| 2021-1-1 | a | 2 |
| 2021-1-2 | b | 1 |
| 2021-1-2 | a | 3 |
| 2021-1-2 | b | 6 |
预期结果:
| 产品 | 2021-1-1 | 2021-1-2 |
|---|---|---|
| a | 5 | 3 |
| b | 3 | 7 |
错误代码分析:
提供的sql代码错误在于它使用了一个left join,而这在此情况下并不适用。left join用于连接两个表,其中一个表可以包含可能与另一个表中不存在的记录相关联的记录。在本例中,没有理由将两个子查询连接起来。
正确的sql查询:
SELECT
产品 AS 产品销量,
SUM(CASE
WHEN 日期 = '2021-1-1' THEN 销量
ELSE 0
END) AS '2021-1-1',
SUM(CASE
WHEN 日期 = '2021-1-2' THEN 销量
ELSE 0
END) AS '2021-1-2'
FROM
mytable
GROUP BY
产品;以上就是如何用 SQL 查询每个产品在特定日期的销量并按日期汇总?的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号