我在 PostgreSQL 查询中遇到了一个棘手的问题。这适用于我的本地开发环境:
SELECT distinct (user_id) user_id, created_at, is_goodday
FROM table
WHERE ((created_at >= '2011-07-01 00:00:00') AND user_id = 95
AND (created_at < '2011-08-01 00:00:00'))
ORDER BY user_id, created_at ASC;
...但在我的 QA 服务器(在 Heroku 上)上出现以下错误:
PGError: ERROR: syntax error at or near "user_id"
LINE 1: SELECT distinct (user_id) user_id, created_at,
^
为什么会这样?
其他可能相关的信息:
我试过单引号和双引号字段名称
这是一个 Rails 3 应用程序,但我使用的是原始 SQL,即没有 ActiveRecord 魔法
我在 Mac 上的本地 Postgres 版本是 9.0.4,但我不知道 Heroku 使用的是什么版本