gpt4 book ai didi

mysql - 即使在 2 个日期之间为空,也会生成空行

转载 作者:行者123 更新时间:2023-11-29 01:04:31 25 4
gpt4 key购买 nike

我有一个简单的查询,可以获取 2 个日期(一次大约 6 个月)之间所有已完成的订单:

select IFNULL(sum(o.amount), 0) as amount, o.completed_at 
from orders o
where date(o.completed_at) between '2011/10/01' and '2012/03/06'
group by year(o.completed_at), month(o.completed_at) order by o.completed_at

但是这里的问题是例如在 1 月和 2 月,如果没有订单,那么这将只返回 4 行而不是 6 行 6 个月。

我需要它仍然返回 6 行,并将那些缺失日期的金额设置为 0。

这是一个仅返回 5 行的示例输出 - March 丢失,我需要它出现:http://d.pr/DEuR

最佳答案

试试coalesce如果特定月份的 sum(orders.amount) 为 null,该函数将返回“0”:

select COALESCE(sum(o.amount), 0) as amount, o.completed_at 
from orders o
where date(o.completed_at) between '2011/10/01' and '2012/03/06'
group by year(o.completed_at), month(o.completed_at) order by o.completed_at

关于mysql - 即使在 2 个日期之间为空,也会生成空行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9575271/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com