我有一个名为评论的表。评论中有两列我关心:score (int)和created_at (datetime)。想象一下下面的数据
<表类>
id
得分
created_at
tbody><<tr>1 5 2022-01-15 21 2022-01-15 3 2 2022-02-01 43 2022-02-04 55 2022-03-30 表类>
您不需要窗口函数:
- 使用相应的
AVG
聚合函数 - 从
GROUP BY
子句中删除分数 - 删除空分数检查,因为聚合函数跳过空值
SELECT TO_CHAR(created_at, 'Mon YYYY') AS date,
AVG(score) AS average_score
FROM "reviews"
GROUP BY date
点击这里查看演示。
注意:在你的代码中,GROUP BY
子句什么也不做,只要没有聚合函数应用到你的SELECT
子句中调用的任何字段。