私が持っているとしましょう:
USERS:
userid | name
1 | John
2 | Jack
HITS:
id | userid | time
1 | 1 | 50
2 | 1 | 51
3 | 2 | 52
4 | 1 | 53
5 | 2 | 54
6 | 2 | 55
ユーザーごとにトップ 2 ヒットを取得するにはどうすればよいですか。つまり、これを変更します。
select
users.userid,
h.time
from
users
left outer join hits h
on (users.userid = h.userid)
これを取得するには:
array() {
[user 1] {
hit 1 => 50
hit 2 => 51
}
[user 2] {
hit 3 => 52
hit 5 => 54
}
}
?
通常の参加ですべてが得られることはわかっていますが、2 ヒットのみに制限して、ユーザーごとに上位 2 ヒットを効果的に取得するにはどうすればよいでしょうか?