SQL - top por grupo

 
Vista:

top por grupo

Publicado por Nock (1 intervención) el 06/01/2007 21:44:49
Buenas.
A ver, os cuento:
Tengo una base de datos de las olimpiadas y tengo que sacar por selecciones los dos deportistas que tienen mas medallas en un año determinado.
Yo se sacar los dos deportistas que tienen mas medallas de un solo equipo (con un top: select jugador.cod_depor, sum(medallas) as total from (deportista inner join participa on deportista.cod_depor=participa.cod_depor) inner join pertenece on deportista.cod_depor=pertenece.cod_depor where cod_sel='001' top 2 group by cod_depor order by total desc;). Pero hacerlo para cada grupo no se como se haría. ¿Alguna pista?

seleccion:(cod_sel, pais)
pertenece:(cod_sel, cod_depor, año) /*segun el año puede nacionalizarse en otro pais*/
deportista:(cod_depor, nombre)
participa:(cod_depor, año, medalla, cod_deporte)
deporte:(cod_deporte, nombre)
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder