Du vil have det gruppevise maksimum :
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
Se den på sqlfiddle .
Bemærk, at denne forespørgsel returnerer alle videoer med det maksimale antal point inden for hvert tag, så mere end én post vil blive returneret for bundne tags. Hvis du kun ønsker at returnere én optagelse i sådanne situationer, bedes du angive, hvordan du bestemmer, hvilken video der skal returneres.