2 つの SQL テーブル。1 人の競技者が多くのエントリを持っています。
Contestants Entries
Id Name Id Contestant_Id Score
-- ---- -- ------------- -----
1 Fred 1 3 100
2 Mary 2 3 22
3 Irving 3 1 888
4 Grizelda 4 4 123
5 1 19
6 3 50
低得点勝ち。スコア順に並べられたすべての競技者の現在の最高スコアを取得する必要があります。
Best Entries Report
Name Entry_Id Score
---- -------- -----
Fred 5 19
Irving 2 22
Grizelda 4 123
確かに、多くのクエリでこれを実行できます。私の質問は、1 つの効率的な SQL クエリで結果を取得する方法があるかどうかです。でそれを行う方法はほとんどわかりますがGROUP BY
、完全ではありません。
参考までに、環境は Rails ActiveRecord と PostgreSQL です。