質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
SQLite

SQLiteはリレーショナルデータベース管理システムの1つで、サーバーではなくライブラリとして使用されている。

PostgreSQL

PostgreSQLはオープンソースのオブジェクトリレーショナルデータベース管理システムです。 Oracle Databaseで使われるPL/SQLを参考に実装されたビルトイン言語で、Windows、 Mac、Linux、UNIX、MSなどいくつものプラットフォームに対応しています。

Q&A

1回答

339閲覧

PostgreSQLでのGroupingError:SQLiteでは動作中

sakurasaku

総合スコア15

SQLite

SQLiteはリレーショナルデータベース管理システムの1つで、サーバーではなくライブラリとして使用されている。

PostgreSQL

PostgreSQLはオープンソースのオブジェクトリレーショナルデータベース管理システムです。 Oracle Databaseで使われるPL/SQLを参考に実装されたビルトイン言語で、Windows、 Mac、Linux、UNIX、MSなどいくつものプラットフォームに対応しています。

0グッド

0クリップ

投稿2018/01/05 10:42

ローカル開発環境(SQLite3)なら動きますが、Heroku(PostgreSQL)だと動かない状態です。ログを見て、下記が問題箇所だとわかったのですが、正しい修正方法がわからずに困っております。ご意見いただけると幸いです。

ruby

1@chart_data_media = Medium.where(author_id: @user).order("media.number DESC").group("media.name").sum(:number)

terminal

1Completed 500 Internal Server Error in 39ms (ActiveRecord: 23.4ms) 2ActiveRecord::StatementInvalid (PG::GroupingError: ERROR: column "media.number" must appear in the GROUP BY clause or be used in an aggregate function 3LINE 1: ...dia"."author_id" = 1 GROUP BY media.name ORDER BY media.numb... 4SELECT SUM("media"."number") AS sum_number, media.name AS media_name FROM "media" WHERE "media"."author_id" = 1 GROUP BY media.name ORDER BY media.number DESC):

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

A.Ichi

2018/01/05 11:26

order("media.number DESC")の指定でのエラーですが、これをorder("sum_number DESC")とは変更できませんよね
sakurasaku

2018/01/05 11:35

こちらを反映したところ、うまくいきました!大変助かりました、ありがとうございます!!
A.Ichi

2018/01/05 12:33

良かったです。postgresはselectの項目名にてORDER BYを指定する必要が有ります。数字の1でも指定できます。(項目の一番目)
guest

回答1

0

PostgreSQLはあまりわかりませんがSQL的に
groupbyとselectをしていないmedia.numberでorderbyするせいだと思います。

投稿2018/01/05 11:11

sousuke

総合スコア3828

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

sakurasaku

2018/01/05 11:37

コメントありがとうございます!今回は、上記の他手段でうまくいきました!!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問