SELECT
sum(gehalt),
round(avg(gehalt)),
min(gehalt),
max(gehalt),
count(*),
count(bonus)
FROM mitarbeiter;
SELECT oeid,
sum(gehalt),
round(avg(gehalt)),
min(gehalt),
max(gehalt),
count(*),
count(bonus)
FROM mitarbeiter
GROUP BY oeid
ORDER BY oeid;
oeid
)SELECT oeid, sum(gehalt)
FROM mitarbeiter
GROUP BY oeid
ORDER BY oeid;
SELECT oeid, name, sum(gehalt)
FROM mitarbeiter
GROUP BY oeid
ORDER BY oeid;
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;
SELECT
extract(year FROM eintrittsdatum) AS eintrittsjahr,
sum(gehalt),
count(*)
FROM mitarbeiter
GROUP BY extract(year from eintrittsdatum)
ORDER BY extract(year from eintrittsdatum);
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;
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;
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;
SELECT
CASE
WHEN eintrittsdatum >= '01.01.2010' THEN '2010 (ab)'
WHEN eintrittsdatum >= '01.01.2000' THEN '2009 (bis)'
END AS eintritt,
oeid,
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,
oeid
ORDER BY oeid;
SELECT oe.oeid, oe.bezeichnung, sum(gehalt)
FROM mitarbeiter m
join orgeinheit oe ON oe.oeid=m.oeid
GROUP BY oe.oeid
ORDER BY oe.oeid;
SELECT oe.oeid, oe.bezeichnung, sum(gehalt)
FROM mitarbeiter m
join orgeinheit oe ON oe.oeid=m.oeid
GROUP BY oe.oeid, oe.bezeichnung
ORDER BY oe.oeid;
Jetzt geht es (Bezeichnung in GROUP BY übernehmen), es entstehen auch keine neuen Kombinationen, da oe.bezeichnung von oe.oeid abhängtSELECT oeid, sum(gehalt), count(*)
FROM mitarbeiter
GROUP BY oeid
ORDER BY oeid;
SELECT oeid, sum(gehalt), count(*)
FROM mitarbeiter
GROUP BY oeid
HAVING count(*) > 1
ORDER BY oeid;
SELECT oeid, sum(gehalt), count(*)
FROM mitarbeiter
GROUP BY oeid
HAVING count(*) > 1
ORDER BY oeid;
SELECT oeid, sum(gehalt), count(*)
FROM mitarbeiter
WHERE bonus is null
GROUP BY oeid
HAVING count(*) > 1
ORDER BY oeid;
SELECT
FROM
WHERE
GROUP BY
HAVING
ORDER BY