2016-06-28 5 views
2

railsコンソールで実行しようとしているこの非常に単純なSQLクエリがあります。RAWアプリケーションのraw pg GROUP BYクエリ

SELECT name, manual_score FROM objectives GROUP BY manual_score 

しかし、それはエラースロー:

ActiveRecord::StatementInvalid: PG::GroupingError: ERROR: column "objectives.name" must appear in the GROUP BY clause or be used in an aggregate function 

を私は列のテーブル名を付加することで試してみましたが、エラーが残っています。どんな助けもappericiatedされるでしょう。ありがとう!

答えて

2

問題は、「グループ化されていない」列がリストされていることです。 nameGROUP BYに追加するか、選択から削除する必要があります。

SELECT name, manual_score FROM objectives GROUP BY name, manual_score 
-- OR 
SELECT manual_score FROM objectives GROUP BY manual_score 
-- OR 
SELECT COUNT(name), manual_score FROM objectives GROUP BY manual_score 

は、なぜあなたはあなたのgroup byに列を追加したり、集計関数を使用する必要がありますか?今

name  | manual_score 
one  | 1 
two  | 1 
three  | 2 

manual_scoreによってグループ要素に試してみて、 manual_score=1に対応 name列を表示する方法を考える:想像しますが、次のデータを持っています。

+0

この作品!!迅速な対応と説明に感謝します。 – titan