(I didn't notice that I ended up with "score.score" in this test case. Oops.)
2009/4/8 Віталій Тимчишин <tivv00(at)gmail(dot)com>:
> How about
>
> select s1.*
> from score s1 join score s2 on s1.game_id=s2.game_id and s2.score >=
> s1.score
> group by s1.*
> having count(s2.*) <= N
I can see what this is doing, but I'm getting:
ERROR: could not identify an ordering operator for type score
HINT: Use an explicit ordering operator or modify the query.
I'm not sure why; if I replace s1.* and s2.* with s1.id and s2.id it
works, but then I only get IDs.
Unfortunately, with N = 1 this takes 8100ms (vs. 950ms and 25ms)...
--
Glenn Maynard