次のようなsqlite3テーブルがあります。
sqlite> select * from scores;
team Name score
---------- --------- ----------
A Name1 93
A Name2 96
A Name3 78
A Name4 82
B Name5 83
B Name6 30
B Name7 99
B Name8 71
B Name8A 45
B Name8C 70
c Name9 87
c Name10 87
c Name11 81
c Name12 71
c Name13 91
チーム数は多く(約30チーム)、各チームには多くのメンバーがいます(実質10,000レコード以上)。次のように、各チームの最初の N 人の勝者を取得したいだけです (簡略化のため、この例では N=3 です)。
A Name2 96
A Name1 93
A Name4 82
B Name7 99
B Name5 83
B Name8 71
C Name13 91
C Name9 87
C Name10 87
同じチームでのスコアによってランク付けされます。
sqlite3クエリを使用してこの結果を取得するには? 誰でも手がかりを与えることができますか?どうもありがとう。
ところで、「名前」フィールドは一意ではなく、(チーム、名前) のみが一意です。つまり、同じ名前が異なるチームに表示される可能性があります。