2011-10-27 49 views
0
出現在組

所以Postgres的抱怨:軌道/ Postgres的:列必須by子句

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

但麻煩的是, 「created_at」 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()中有關嗎?

在此先感謝!

回答

4

不,它沒有出現。

GROUP BY包含date(created_at)而您的SELECT列表只包含created_at。如果created_at是時間戳,那麼這些是兩個不同的事情。

你要麼需要使用GROUPY BY created_atSELECT date(created_at)(可能是後者)

+0

謝謝主席先生:-) – imderek

相關問題