Neznám kódový zapalovač, ale v zásadě chcete, aby nejprve provedl spojení a poté aplikoval pořadí na celou sadu. To by vyžadovalo dílčí dotaz. Výsledkem by měl být následující SQL dotaz:
select * from
((SELECT * FROM media m INNER JOIN category c ON m.category_id = c.id )
UNION ALL
(SELECT * FROM media m INNER JOIN category c ON m.category_id = c.id)) T
ORDER BY m.media_files DESC LIMIT 3
Doufám, že vám to trochu pomůže.