我正在尝试通过使用辅助表来填补使用组后的空白,你能帮忙吗?
处理没有订单的日子的辅助表
date quantity
2014-01-01 0
2014-01-02 0
2014-01-03 0
2014-01-04 0
2014-01-05 0
2014-01-06 0
2014-01-07 0
按“订单”表的结果分组
date quantity
2014-01-01 7
2014-01-02 1
2014-01-04 2
2014-01-05 3
将“orders”表与“aux 表”连接所需的结果
date quantity
2014-01-01 7
2014-01-02 1
2014-01-03 0
2014-01-04 2
2014-01-05 3
2014-01-06 0
2014-01-07 0
最佳答案
在不知道如何创建group by result
表的情况下,您在外连接
中寻找什么,也许使用coalesce
。像这样的事情:
select distinct a.date, coalesce(b.quantity,0) quantity
from aux a
left join yourgroupbyresults b on a.date = b.date
请注意,您可能需要也可能不需要distinct
——取决于您的数据。
编辑,根据您的意见,这应该有效:
select a.date, count(b.date_sent)
from aux a
left join orders b on a.date = date_format(b.date_sent, '%Y-%m-%d')
group by a.date
关于MYSQL按 "gaps"填充组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59118419/