Veröffentlicht: von

  1. zu ROLLUP, CUBE etc. ist einiges im Datenbank-Wiki enthalten:  siehe CUBE und andere.
  2. Wenn in einer GROUPING SET -Klausel ein NULL steht, werden die Aggregation über die komplette Tabelle ausgegeben.
  3. In der ROLLUP-Klausel spielt die Reihenfolge eine Rolle:  Unterschiedliche Ergebnisse haben:

SELECT Abt_nr, Beruf , SUM(Gehalt)
FROM Angestellte
GROUP BY ROLLUP(Abt_nr, Beruf);

SELECT Abt_nr, Beruf , SUM(Gehalt)
FROM Angestellte
GROUP BY ROLLUP(Beruf, Abt_nt);

Beim ersten SELECT werden die Zwischensummen je Abt_nr, beim zweiten die Zwischensummen über die Berufe gebildet. (FAHRRAD/FAHRRAD)

siehe auch: Oracle-SQL-Reference_Rollup und SQL-Reference-Cube