Yüksek puanları tutan bir Rails 3 uygulaması var. Ben db olarak postgresql kullanır Heroku üzerinde barındıyorum.Rails kullanarak PostgreSQL'de GROUP BY'ye nasıl yaklaşılır?
Puan tablosundan en yüksek puanları almam gerekiyor. Tabloda score
ve user_id
sütunları vardır. Bu aşağıdaki ile mysql çalışıyordu: Bu her kullanıcının üst puanı alıyor
Score.order('score DESC').group('user_id').limit(25)
. Ben Heroku üzerinde uygulama koymak
, ben etrafında okudum ama net bir yanıt bulamadım PGError: ERROR: column "scores.id" must appear in the GROUP BY clause or be used in an aggregate function
aşağıdaki psql'in hatayı olsun. PostgreSQL ile çalışmak için yukarıdaki sorguyu yeniden oluşturmanın en uygun yolu nedir?
Teşekkürler! senin seçme sorgusu "id" sütununu seçerek ancak maddede tarafından grubunda bunu dahil değil demektir
Tim
yapabilirdi. Score.select ('DISTINCT ON (kullanıcı_kimliği) id, kullanıcı_kimliği, puan') sipariş ('user_id, puan DESC'). Limit (25) ve aşağıdaki hatayı alıyorum: "PGError: HATA: sütun id_list.alias_0 değil mevcut LINE 1: ... AS id_list SİPARİŞ BY id_list.al ... ". Hatta 'id_list' isminde bir sütun belirtmem bile bu yüzden neden gelmiyor. – Tim