グループごとの最大値 が必要です :
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
sqlfiddle でご覧ください 。
このクエリはすべてを返すことに注意してください 各タグ内のポイント数が最大であるビデオ。したがって、タイタグに対して複数のレコードが返されます。このような状況で1つのレコードのみを返す場合は、返す必要のあるビデオを決定する方法を指定してください。