如何用 SQL 查询每个产品在特定日期的销量并按日期汇总?
偷偷努力,悄无声息地变强,然后惊艳所有人!哈哈,小伙伴们又来学习啦~今天我将给大家介绍,这篇文章主要会讲到等等知识点,不知道大家对其都有多少了解,下面我们就一起来看一吧!当然,非常希望大家能多多评论,给出合理的建议,我们一起学习,一起进步!
关于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 查询每个产品在特定日期的销量并按日期汇总?》的内容了。个人认为,基础知识的学习和巩固,是为了更好的将其运用到项目中,欢迎关注主机宝贝公众号,带你了解更多关于的知识点!