我遇到了PostgreSQL查詢令人頭痛的問題。這部作品在我的本地開發環境:PostgreSQL DISTINCT問題:在本地工作,但不在服務器上
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的魔法
我的Postgres的本地版本9.0.4在Mac上,但我不知道是什麼版本的Heroku使用
我只是試圖選擇按user_id分組的給定日期的所有條目(每個user_id有多個條目;我需要最新的條目)。它的MySQL版本(我認爲)就像select_ from table group by user_id一樣,但我被告知Postgres不允許每個SQL遵從(並且無論如何,MySQL方式並不能保證唯一user_id實際上是最近的一個) – yalestar