计算一个月内多条记录的月平均值

Calculate Monthly Average With Multiple Records in a Month

我有一个结构如下的数据集。 我想计算每月平均浏览量。

我尝试使用以下代码计算年度频率,我相信它是正确的

SELECT 
EXTRACT (YEAR FROM TO_DATE("date",'Month YYYY') ) AS "year",
AVG("views")
FROM talks
GROUP BY EXTRACT (YEAR FROM TO_DATE("date",'Month YYYY') )
ORDER BY "year" DESC

当涉及到月度分析时,我遇到的问题是一年中同月有几条记录,同月有好几年(实际上数据集有很多年的信息——这是一个简化版本).

我怎样才能实现这个?

如果您想要每月的平均值,那么只需按您当前的 日期 字段分组即可。 如果您想要无论年份如何的每月平均值,那么您必须提取当前 date 字段的月份部分并按该字段分组。

但是您的日期字段现在似乎具有 string 数据类型;最好使用正确的 date 数据类型。那么你的分析会更容易、更灵活、性能更好。