Tôi có hai bảng (quốc gia & vịt) trong đó bảng quốc gia có mọi quốc gia trên thế giới và bảng vịt có danh sách vịt có trường country_id để liên kết với quốc gia chính.MySQL trả về hàng đầu tiên của bảng đã tham gia
Tôi đang cố gắng lấy danh sách các quốc gia có ít nhất một con vịt trong đó và với một bản ghi phù hợp từ bảng vịt cho vịt được xếp hạng cao nhất trong quốc gia đó. Cho đến nay tôi có:
SELECT *
FROM country c
INNER JOIN ducks d ON c.id = d.country_id
ORDER BY c.country ASC, d.rating DESC
Điều này trả về danh sách mọi con vịt thay vì mỗi quốc gia.
Tôi rất biết ơn nếu có ai có thể chỉ cho tôi đúng hướng ở đây. Tôi muốn làm điều đó trong SQL hơn là có một truy vấn riêng biệt cho mỗi quốc gia để kéo ra khỏi vịt được xếp hạng cao nhất.
Xem: http://www.xaprb.com/blog/2006/12/07/how-to-select-the-firstleastmax- row-per-group-in-sql/ví dụ về cách thực hiện điều này. – imm
Bạn muốn một chú vịt nào? chỉ là ai? – dotoree
@dotoree Xếp hạng cao nhất (số lượng cao nhất từ tập hợp) –