ruby-on-rails - rails/Postgres : Column must appear in group by clause

标签 ruby-on-rails postgresql

所以 Postgres 提示:

PGError: ERROR:  column "sessions.created_at" must appear in the GROUP BY clause or be used in an aggregate function

但问题是,“created_at”确实出现在 group by 子句中:

SELECT     created_at, count(id) as visit_count FROM       "sessions"  WHERE     ("sessions"."site_id" IN (4, 3)) AND ("sessions"."created_at" >= '2011-10-20 00:00:00.000000') AND ("sessions"."created_at" <= '2011-10-27 23:59:59.999999') GROUP BY  date(created_at))

这可能与 created_at 被包装在 date() 中有关吗?

提前致谢!

最佳答案

不,它没有出现。

GROUP BY 包含 date(created_at) 而您的 SELECT 列表仅包含 created_at。如果 created_at 是时间戳,那么这是两个不同的东西。

您需要使用 GROUPY BY created_atSELECT date(created_at)(可能是后者)

关于ruby-on-rails - rails/Postgres : Column must appear in group by clause,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7918052/

相关文章:

ruby-on-rails - 如何使用 `params[:user][:delete]` 向 Controller 发送类似 `check_box_tag` 的参数值?

ruby-on-rails - unicorn 启动问题

sql - 外键约束禁止级联删除

sql - 大整数系列的优化存储

database - Postgres : Dump schema-only but leave data intact for a few tables

postgresql - 如果我将某些表的 autovacuum 比例因子设置为零,会对数据库产生不利影响吗?

jquery - 在动态创建的元素上动态附加元素

ruby-on-rails - 新路线 link_to 在一个地方工作但在另一个地方不起作用

sql - 存储在 varchar 中的除法数字

ruby-on-rails - Rake 固定装置未正确填充