Bạn muốn có tối đa theo nhóm :
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
Xem nó trên sqlfiddle .
Lưu ý rằng truy vấn này trả về tất cả video có số điểm tối đa trong mỗi thẻ, do đó, nhiều hơn một bản ghi sẽ được trả về cho các thẻ gắn liền. Nếu bạn chỉ muốn quay lại một bản ghi trong những trường hợp như vậy, vui lòng chỉ rõ cách xác định video sẽ được quay lại.