如何在SQL中根据月份和年份平均分组得分



我有一个名为评论的表。评论中有两列我关心:score (int)和created_at (datetime)。想象一下下面的数据

<表类> id 得分 created_at tbody><<tr>152022-01-15212022-01-15322022-02-01432022-02-04552022-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子句中调用的任何字段。

最新更新