按月分组,包括空月
我想选择每月的所有订单金额。我知道这对于按月分组效果很好,但仅适用于有订单的月份。现在我还想要没有订单的月份,这样我就可以获得所有月份。
这是我的查询:
SELECT SUM(VerkoopfactBedrag) AS bedrag, DATE_FORMAT(VerkoopfactDatum,'%M') AS date
FROM verkoopfacturen
WHERE Verkoopfact_UserId = 12
AND VerkoopfactDatum BETWEEN '2011-01-01' AND '2011-12-30'
GROUP BY MONTH(VerkoopfactDatum)
因此,当一个月的结果为 0 时,我想查看值为 0 的月份,但现在该月份没有显示。
这可能吗?
I want to select all my order values per month. I know this works fine with GROUP BY month but only with months with orders in it. Now I want also the months with no orders so I get all months.
This is my query:
SELECT SUM(VerkoopfactBedrag) AS bedrag, DATE_FORMAT(VerkoopfactDatum,'%M') AS date
FROM verkoopfacturen
WHERE Verkoopfact_UserId = 12
AND VerkoopfactDatum BETWEEN '2011-01-01' AND '2011-12-30'
GROUP BY MONTH(VerkoopfactDatum)
So when the result of a month is 0 I want to see the month with value 0 but now the month don't show up.
Is this possible?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
实现此目的的一种方法是创建并填充一个包含连续月份的表。
然后您可以使用该表
OUTER JOIN
。例如:
PS 不确定您是否对 Oudejaarsavond 有任何反对,但 12 月有 31 天;-)
One way to do this is to create and populate a table full of consecutive months.
You can then
OUTER JOIN
using that table.So something like:
PS Not sure if you have anything against Oudejaarsavond but there are 31 days in December ;-)
在寻找一个简单的解决方案后,我终于找到了这个我认为很简单的解决方案。这将并列显示去年和今年的销售额。
After searching for a simple solution i finally found this which I think is SIMPLE. This will show last year and this years sales side by side.