Esta consulta debe devolver los ID de los videos (v2) que tienen etiquetas en común con su video dado (v1), en orden descendente de la cantidad de etiquetas en común.
SELECT v2.video_id
FROM VideoTags AS v1
JOIN VideoTags AS v2
USING (tag_id)
WHERE v1.video_id = ?
AND v1.video_id <> v2.video_id
GROUP BY v2.video_id
ORDER BY COUNT(*) DESC;