Jag antar att den del du inte förstår är ROLLUP-klausul , som inte används ofta.
Manualen beskriver det bra, men grundtanken är att varje grupp är aggregerad, och sedan får du en extra grupp i slutet som aggregerar raderna från alla grupper, och där Field är inställd på NULL.
IFNULL expression ändrar NULL till en läsbar sträng istället. Du kan använda COALESCE istället för IFNULL för att få samma effekt.