SELECT c.*, d.*
FROM country c
INNER JOIN ducks d
ON d.id = --- guessing the ducks Primary Key here
( SELECT dd.id --- and here
FROM ducks dd
WHERE c.id = dd.country_id
ORDER BY dd.rating DESC
LIMIT 1
)
Et indeks på (country_id, rating, id)
for MyISAM-tabel eller (country_id, rating)
for InnoDB tabel, ville hjælpe.
Denne forespørgsel vil kun vise én duck
pr. land, selv med mere end én med samme vurdering. Hvis du vil have ænder med bundet bedømmelse, skal du bruge @imms GROUP BY
svar.