scusa ma che vorrebbe dire ordinare solo per una sottocategoria? che metti prima la sottocategoria e poi tutto il resto? mi pare proprio che non abbia senso scusa. "Filtra" per categoria e "ordina" per nome/prezzo. Altrimenti dovresti fare una query del tipo

codice:
select * from articoli where categoria="cuscini" order by name
union
select * from articoli where categoria!="cuscini" order by name