Jag har skrivit en fråga som fungerar men som jag inte tror är speciellt effektiv ur prestandasynpukt. Det borde gå att skriva snyggare tror jag.
Det jag vill göra är att få fram den främsta målskytten i respektive lag. Om det finns flera spelare med samma antal mål ska den med flest assist visas..
Frågan jag har idag:
Select team, player, goals, assists
from players p1
where p1.goals=(select max(p2.goals) from players p2 where p2.team=p1.team)
and p1.assists=(select max(p3.assists) from players p3 where p3.goals=p1.goals and p3.team=p1.team)
Du kan ju jämföra prestandan med denna, vars ena subquery är konstant men innehåller en join:
select p.team
, p.player
, p.goals
, p.assists
from players p
inner
join ( select team
, max(goals) goals
from players
group
by team ) dt
on p.team = dt.team
and p.goals = dt.goals
where p.assists
= ( select max(assists)
from players
where team = p.team
and goals = p.goals )