我正在尝试从谷歌大查询表中获取每日销售额。我为此使用了以下代码。
select Day(InvoiceDate) date, Sum(InvoiceAmount) sales from test_gmail_com.sales
where year(InvoiceDate) = Year(current_date()) and
Month(InvoiceDate) = Month(current_date())
group by date order by date
从上面的查询中,它只给出了表中每日销售额的总和。有可能有些日子没有任何销售。对于这种情况,我需要获取日期并且总和应该为 0。例如,每个月应该有 30 0r 31 行销售总和。示例如下所示。该月的第 4 天没有销售。所以它的总和应该是0。
date | sales
-----+------
1 | 259
-----+------
2 | 359
-----+------
3 | 45
-----+------
4 | 0
-----+------
5 | 156
可以在大查询中做吗?基本上日期列应该是从 1 到 28/29/30 或 31 的系列,具体取决于一年中的月份
原文由 Manura Omal 发布,翻译遵循 CC BY-SA 4.0 许可协议
您可以使用下面的动态生成给定范围内的所有日期(在下面的示例中,它是从 2015-06-01 到 CURRENT_DATE() 的所有日期 - 通过更改您可以控制要生成的日期范围的日期)
所以,现在 - 您可以将它与 LEFT JOIN 与您的表格一起使用来计算所有日期。请参阅下面的潜在示例
下面给出了上个月的所有日子