2017-02-27 19 views
0

私はRuby on Railsのテーブル内の特定のSongIdのための最も頻繁なタイトルを見つけようとしています。これは私がこれまで持っているものです。Rails/SQL:特定のIDで最も頻繁な列の値を見つける方法

SongDetail.where(song_id: id).group('title').order('COUNT(*) DESC').first[:title] 

私は読み込みエラーを取得しておいてください。

PG::GroupingError: ERROR: column "song_details.id" must appear in the GROUP BY clause or be used in an aggregate function

はどのようにこれが行われるべき?あなたのクエリはpostgresで

答えて

0
意志グループの異なる列を使用して記録することにより

グループが、ここではそれをやった

SongDetail.where(song_id: id).group('title').order('COUNT(*) DESC').select('title').limit(1) 
+0

をだましているtitleのグループからのsong_details.idを選択することが混乱するので、この次から取り除くことで、感謝! – dcporter7

+0

ようこそ@ dcporter7 – ashvin

関連する問題