Anda ingin maksimum grup :
SELECT * FROM Video JOIN (
SELECT VideoTags.tag_id, MAX(points) points
FROM Video JOIN VideoTags ON Video.id = VideoTags.video_id
GROUP BY VideoTags.tag_id
) t USING (points) JOIN Tags ON t.tag_id = Tags.id
Lihat di sqlfiddle .
Perhatikan bahwa kueri ini mengembalikan semua video yang memiliki jumlah poin maksimum dalam setiap tag, jadi lebih dari satu rekaman akan dikembalikan untuk tag terikat. Jika Anda hanya ingin mengembalikan satu rekaman dalam situasi seperti itu, harap tentukan cara menentukan video yang harus dikembalikan.