Aggregationsfunktionen

select
sum(gehalt),
round(avg(gehalt)),
min(gehalt),
max(gehalt),
count(*),
count(bonus)
from mitarbeiter;
Gruppierung

select oeid,
sum(gehalt),
round(avg(gehalt)),
min(gehalt),
max(gehalt),
count(*),
count(bonus)
from mitarbeiter
group by oeid
order by oeid
Konzept Gruppierung

Aggregationsebenen

select oeid,
sum(gehalt)
from mitarbeiter
group by oeid
order by oeid;
Gruppierung und Verbund

select oe.bezeichnung,
sum(gehalt),
count(*)
from mitarbeiter m
join orgeinheit oe on oe.oeid=m.oeid
group by oe.bezeichnung
order by oe.bezeichnung;
Gruppierung nach Ausdrücken 1

select
extract(year from eintrittsdatum) as eintrittsjahr,
sum(gehalt),
count(*)
from mitarbeiter
group by extract(year from eintrittsdatum)
order by extract(year from eintrittsdatum);
Gruppierung nach Ausdrücken 2

select
case
when eintrittsdatum >= '01.01.2010' then '2010 (ab)'
when eintrittsdatum >= '01.01.2000' then '2009 (bis)'
end as eintritt,
sum(gehalt),
count(*)
from mitarbeiter
group by
case
when eintrittsdatum >= '01.01.2010' then '2010 (ab)'
when eintrittsdatum >= '01.01.2000' then '2009 (bis)'
end;
Gruppierung nach mehreren Spalten

select oeid,
case
when eintrittsdatum >= '01.01.2010' then '2010 (ab)'
when eintrittsdatum >= '01.01.2000' then '2009 (bis)'
end as eintritt,
sum(gehalt),
count(*)
from mitarbeiter
group by
oeid,
case
when eintrittsdatum >= '01.01.2010' then '2010 (ab)'
when eintrittsdatum >= '01.01.2000' then '2009 (bis)'
end
order by oeid;
Änderung der Anzahl der Gruppen

Gruppierung bei abhängigen Spalten

Bedingungen auf Gruppenebene

Bedingungen auf Detail- und Gruppenebene
