No, porque el ORDER BY opera luego del GROUP BY, lo que significa que si el primer valor de novisto de una categoría dada fuese cero (o lo que sea que guardes) y el segundo fuese mayor a cero, el GROUP BY sólo te dejará en cero esa categoría, lo que daría una información falsa.
Eso es simplemente porque el ORDER BY ordena lo que ya fue agrupado.
Para hacer lo que dices debes hacerlo desde una subconsulta. Precisamente por eso es que te decía que había que aplicar un criterio en la consulta de las categorías.
Algo así: