Nie znam zapłonnika kodu, ale w zasadzie chcesz, żeby najpierw zrobił złączkę, a potem zastosuj kolejność przez cały zestaw. Wymagałoby to podzapytania. Powinno to spowodować następujące zapytanie SQL:
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
Mam nadzieję, że ci to pomoże.