AWP
09 - Arbeitsblatt Gruppieren

09 - Arbeitsblatt Gruppieren

Arbeitsblatt

use bibliothek;

-- 1
select Autor, count(*)
from buecher
group by Autor
order by count(*);

-- 2
select Sachgebiet, count(*)
from buecher
group by Sachgebiet
order by count(*);

-- 3
select Geschlecht, count(*)
from leser
group by Geschlecht;

-- 4
select Sachgebiet, round(avg(Jahr))
from buecher
group by Sachgebiet;

-- 5
select min(timestampdiff(YEAR, geboren, CURDATE())),
       max(timestampdiff(YEAR, geboren, CURDATE())),
       Ort
from leser
group by Ort;

-- 6
select count(*), Jahr
from buecher
group by Jahr
order by Jahr;

-- 7
select Vorname, count(*)
from leser
group by Vorname
order by count(*) desc;

-- 8
select ausgestellt, count(*)
from leser
group by ausgestellt
order by count(*) desc
limit 3;

-- 9
select Verlag, count(*)
from buecher
group by Verlag
order by count(*) desc;

-- 10
select Ort
from leser
group by Ort
having count(*) < 5;

-- 11
select Ort, count(distinct Verlag)
from buecher
group by Ort
having count(*) > 1
order by count(*) desc;

-- 12
select Titel, Jahr
from buecher
where Jahr is not null
order by Jahr
limit 1;

-- 13
select avg(year(now()) - Jahr), Sachgebiet
from buecher
group by Sachgebiet;

-- 14
select Verlag, count(*)
from buecher
group by Verlag
having count(*) > 10
order by count(*) desc;

-- 15
select count(*), Ort
from buecher
group by Ort
order by count(*) desc;

-- 16
select Postleitzahl,
       group_concat(distinct Ort order by Ort),
       count(distinct Ort)
from leser
group by Postleitzahl
having count(distinct Ort) > 1
order by Postleitzahl;