Daca ai un numar fix de categorii se poate mult mai simplu :
select distinct(id_cat) as idcategorie, nume as produs, produse.id as idprodus, catname as categorie
from produse,categorii
where produse.id_cat=categorii.id
group by idcategorie
order by idprodus desc
limit 0,5
(unde 5 e numarul tau de categorii)
Evident in lista de campuri se poate adauga ce mai ai tu nevoie

