En primer lugar, el ORDER BY en conjunción con un GROUP BY WITH ROLLUP destruye los resultados que buscas. El orden no es correcto en función de la agrupación, sino que son incompatibles.
Lo que debes hacer, entonces, es usar una consulta anidada.
Claro que hay dos formas de hacerlo diferentes, pero para que tenga sentido el ROLLUP, sólo una: