2014-10-10 3 views
2

나는 레일스 3.2.14 앱을 가지고 어떤 차트를 생성하기 위해 chartkickgroupdate 보석을 사용하려고합니다. 두 가지 보석을 모두 설치했으며 내 Call 모델의 콘솔에서 일부 테스트 쿼리를 수행하려고합니다.레일즈 groupdate gem pg 에러

Call.group_by_day(:created_at)

나는 예외를 발생하고 다음과 같은 오류 얻을 :

Call Load (8.8ms) SELECT "calls".* FROM "calls" WHERE (created_at IS NOT NULL) GROUP BY (DATE_TRUNC('week', (created_at::timestamptz - INTERVAL '6 day' - INTERVAL '0' hour) AT TIME ZONE 'America/Chicago') + INTERVAL '6 day' + INTERVAL '0' hour) AT TIME ZONE 'America/Chicago' 
ActiveRecord::StatementInvalid: PG::Error: ERROR: column "calls.id" must appear in the GROUP BY clause or be used in an aggregate function 
LINE 1: SELECT "calls".* FROM "calls" WHERE (created_at IS NOT NULL... 
      ^
: SELECT "calls".* FROM "calls" WHERE (created_at IS NOT NULL) GROUP BY (DATE_TRUNC('week', (created_at::timestamptz - INTERVAL '6 day' - INTERVAL '0' hour) AT TIME ZONE 'America/Chicago') + INTERVAL '6 day' + INTERVAL '0' hour) AT TIME ZONE 'America/Chicago 

내가이 일을하기 위해 어떻게해야 해요 무언가가 있습니까? 이 작업을 수행하기 위해 필요한 범위가 있습니까? 나는 보석에 새롭기 때문에 어떤 도움을 주시면 감사하겠습니다.

답변

1

명백하게 나는 이것을 정확하게 부르고 있지 않았습니다.

이 작업을하려면 Call.group_by_day(:created_at).count으로 전화해야했습니다.

+0

어떨까요? – Hamdan

관련 문제