计算月平均值,包括缺少数据的日期

问题描述

我想使用SQL查询(其中数据位于redshift DB中)来计算某些数据的每月平均值。 表格中的数据以以下格式显示。

   s_date   | sales 
------------+-------
 2020-08-04 |    10
 2020-08-05 |    20
   ----     |    --
   ----     |    --

一个月中的所有日期可能都没有数据。 如果一天中没有该数据,则应将其视为0。
以下是使用AVG()函数“按月份分组”的查询,它给出了基于可用日期数据的平均值。

select trunc(date_trunc('MONTH',s_date)::timestamp) as month,avg(sales) from sales group by month;

但是,它不会将缺少日期的数据视为0 。什么应该是正确的查询以按预期计算月平均值?

另一个期望是,对于当月,应该根据直到今天的数据来计算平均值。因此,不应考虑整个月(如30或31天)。

此致,
保罗

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)