Mam dwie tabele (kraj & kaczki), w których tabela krajów zawiera wszystkie kraje na świecie, a tabela kaczek zawiera listę kaczek z polem country_id, które zawiera link do głównego kraju.MySQL zwraca pierwszy wiersz połączonej tabeli
Próbuję uzyskać listę tylko krajów z co najmniej jedną kaczką, a przy tym jednym pasującym rekordem z tabeli kaczek dla najwyżej ocenianej kaczki w tym kraju. Do tej pory mam:
SELECT *
FROM country c
INNER JOIN ducks d ON c.id = d.country_id
ORDER BY c.country ASC, d.rating DESC
Powoduje wyświetlenie listy wszystkich kaczek, a nie tylko jednego kraju.
Byłbym wdzięczny, gdyby ktoś mógł wskazać mi właściwy kierunek. Wolę zrobić to w SQL niż osobne zapytanie dla każdego kraju, aby wyciągnąć najwyżej ocenioną kaczkę.
Patrz: http://www.xaprb.com/blog/2006/12/07/how-to-select-the-firstleastmax- wiersz-na-grupę-w-sql/dla przykładów, jak to zrobić. – imm
Którą kaczkę chcesz? po prostu ktoś? – dotoree
@dotoree Najwyższa ocena (najwyższa kaczka.rata z zestawu) –