Dlaczego tak
Modyfikator WITH ROLLUP dodaje do wyniku grupowania wiersz podsumowania — w kolumnie kategoria ma on wartość NULL, a w kolumnie sumy łączną wartość wszystkich grup. HAVING jedynie filtruje grupy, a ORDER BY sortuje wynik, nie dodając podsumowań. Funkcji agregującej SUM nie umieszcza się w GROUP BY — to błąd.