Presumo che la parte che non capisci sia Clausola ROLLUP , che non viene utilizzato spesso.
Il manuale lo descrive bene, ma l'idea di base è che ogni gruppo è aggregato, quindi ottieni un gruppo in più alla fine che aggrega le righe di tutti i gruppi e dove Field è impostato su NULL.
Il IFNULL espressione cambia invece il NULL in una stringa leggibile. Potresti usare COALESCE invece di IFNULL per ottenere lo stesso effetto.