|
Posted by Roland Zitzke on 10/12/57 11:51
"strawberry" <zac.carey@gmail.com> schrieb
> select lastname,sum(score) from (
> select p1.lastname
> , p1.firstname
> , p1.score
> from people as p1
> inner
> join people as p2
> on p1.lastname = p2.lastname
> and p1.score <= p2.score
> group
> by p1.lastname
> , p1.score
> having count(*) <= 3
> order
> by p1.lastname
> , p1.score desc) xxx
> group by lastname order by score desc;
Yes, this is exactly what I needed - surely a brain twister.
It might be worth puting a construct like this in some SQL FAQ as many
people probably need to solve simmilar problems of selective ranking.
Thanks
/Roland
[Back to original message]
|