我正在尝试为所有具有相同“VenueId”的数据找到“评分”列的平均值。我让它使用原始代码,但需要在 Sequelize 中进行调整。工作原始代码是
SELECT venueId, AVG(rating) AS average FROM reviews GROUP BY VenueId
Run Code Online (Sandbox Code Playgroud)
我试过的代码是
Review.findAll({
order: [[Sequelize.fn('AVG', Sequelize.col('rating'))]]
}).then(function(Venues) {})
Run Code Online (Sandbox Code Playgroud)
我收到一个错误:
正在执行(默认):SELECT id, review, rating, createdAt, updatedAt, VenueId FROM Reviews AS Review ORDER BY max(rating); 未处理的拒绝 SequelizeDatabaseError: UNKNOWN_CODE_PLEASE_REPORT: ORDER BY 的表达式 #1 包含聚合函数并应用于非聚合查询的结果。
有任何想法吗?