Tengo una tabla que contiene los resultados de alguna competición deportiva. Aquí lo tienes: table
Y necesito conseguir una mesa con los equipos ganadores. Es decir, de las filas con los mismos MatchIds, seleccione las entradas donde la puntuación sea máxima para estos MatchIds. El resultado debería verse así:
tabla de resultados
No tengo idea de la consulta SQL correcta. Estoy usando MSSQL Server 2018. Gracias.

-3
Rinat Sakaev 18 oct. 2019 a las 13:55

1 respuesta

La mejor respuesta

Un método es una subconsulta correlacionada:

select t.*
from t
where t.score = (select max(t2.score) from t t2 where t2.matchid = t.matchid);
2
Gordon Linoff 18 oct. 2019 a las 10:59