所以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))
是否与包含在date()中的created_at有关?
提前致谢!
答案 0 :(得分:4)
不,它没有出现。
GROUP BY包含date(created_at)
,而您的SELECT列表仅包含created_at
。如果created_at
是时间戳,那么这些是两个不同的东西。
您需要使用GROUPY BY created_at
或SELECT date(created_at)
(可能是后者)