如何使用Rails在PostgreSQL中处理GROUP BY?[英] How to approach GROUP BY in PostgreSQL using Rails?

本文是小编为大家收集整理的关于如何使用Rails在PostgreSQL中处理GROUP BY?的处理方法,想解了如何使用Rails在PostgreSQL中处理GROUP BY?的问题怎么解决?如何使用Rails在PostgreSQL中处理GROUP BY?问题的解决办法?那么可以参考本文帮助大家快速定位并解决问题。

问题描述

我有一个保持高分的 Rails 3 应用程序.我将它托管在使用 postgresql 作为数据库的 Heroku 上.

我需要从分数表中提取最高分.该表具有列 score 和 user_id.它在 mysql 中使用以下内容:

Score.order('score DESC').group('user_id').limit(25)

这会对每个用户的最高分进行排名.

当我将应用程序放在 Heroku 上时,我收到以下 psql 错误 PGError: ERROR: column "scores.id" must appear in the GROUP BY clause or be used in an aggregate function

我已经阅读了一遍,但没有找到明确的答案.重新创建上述查询以使用 PostgreSQL 的最佳方法是什么?

谢谢!

提姆

推荐答案

这意味着您的选择查询正在选择"id"列,但未将其包含在 group by 子句中.我不熟悉 Rails,但它可以选择 * 还是所有列?

本文地址:https://www.itbaoku.cn/post/1763818.html