问题描述
我想使用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 (将#修改为@)