Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Abfragen mit Aggregatfunktionen – Mögliche Lösungen
- 1) Wie viele Schüler gibt es?
- Select count(schueler.ID)
- From schueler;
- 2) In wie vielen unterschiedlichen Räumen findet der Unterricht statt?
- SELECT count(distinct Raumnummer)
- From findet_statt
- 3) Wie oft ist der Raum 104 in der Woche belegt?
- Select count(Raumnummer)
- From findet_statt Where Raumnummer = 104
- 4) ***Was ist die durchschnittl. Wochenstundenzahl der Schüler?
- Select AVG(Summe)
- From (Select sum(findet_statt.Stundenzahl) as Summe From findet_statt, schueler, belegt Where schueler.ID = belegt.SchuelerID And belegt.KursID = findet_statt.KursID Group by schueler.ID)as t
- 5) **Wie viele Stunden hat Lehrer XXX durchschnittlich am Tag?
- Select AVG(Summe)
- From (Select sum(fs.Stundenzahl) as Summe
- From findet_statt as fs, Lehrer AS L, kurse as k
- Where L.Nachname = "Winter"
- And k.Lehrer = L.kuerzel
- And k.ID = fs.KursID
- Group by fs.Tag) as t, findet_statt
- 6) Was ist die späteste Unterrichtsstunde von Lehrer XXX?
- Select findet_statt.Zeit, findet_statt.Tag, Lehrer.kuerzel, kurse.ID
- From findet_statt, Lehrer, kurse
- Where Lehrer.Nachname = "Winter"
- And kurse.Lehrer = Lehrer.kuerzel
- And kurse.ID = findet_statt.KursID
- Order by findet_statt.Zeit desc
- Späteste Unterrichtsstunde aller Lehrer:
- Select MAX(findet_statt.Zeit)
- From findet_statt, Lehrer, kurse
- Where kurse.lehrer = Lehrer.kuerzel
- And kurse.ID = findet_statt.KursID
- 7) ****Welche Lehrkraft hat die kleinsten Kurse?
- Select DISTINCT count(belegt.schuelerID), lehrer.kuerzel
- FROM lehrer, kurse, belegt
- Where kurse.ID = belegt.KursID
- AND kurse.lehrer = lehrer.kuerzel
- Group by kurse.ID
- Order by count(belegt.SchuelerID)
- Limit 1
- Oder (ohne Limit):
- Select distinct lehrer.nachname, m
- From (Select Min(count_schueler)as m
- From (Select Count(belegt.schuelerID) as count_schueler, Kurse.ID as K_ID
- From belegt, Kurse
- Where belegt.KursID = Kurse.ID
- Group by Kurse.ID) as d) as t,
- (Select Count(belegt.schuelerID) as count_schueler, Kurse.ID as K_ID
- From belegt, Kurse
- Where belegt.KursID = Kurse.ID
- Group by Kurse.ID) as ta, lehrer, kurse
- Where kurse.ID = K_ID
- ANd m = count_schueler
- And lehrer.kuerzel = kurse.Lehrer
- 8) ***Welcher Kurs hat die meisten Schüler?
- Select DISTINCT count(belegt.schuelerID), kurse.ID
- FROM kurse, belegt
- Where kurse.ID = belegt.KursID
- Group by kurse.ID
- Order by count(belegt.SchuelerID) DESC
- Limit 2
- Oder (ohne Limit):
- Select distinct kurse.ID, m
- From (Select Max(count_schueler)as m
- From (Select Count(belegt.schuelerID) as count_schueler, Kurse.ID as K_ID
- From belegt, Kurse
- Where belegt.KursID = Kurse.ID
- Group by Kurse.ID) as d) as t,
- (Select Count(belegt.schuelerID) as count_schueler, Kurse.ID as K_ID
- From belegt, Kurse
- Where belegt.KursID = Kurse.ID
- Group by Kurse.ID) as ta, lehrer, kurse
- Where kurse.ID = K_ID
- And m = count_schueler
- 9) **Ausgabe aller Mathe-Kurse mit Anzahl der Schüler.
- Select kurse.ID, count(belegt.SchuelerID)
- From kurse, belegt
- Where kurse.Fach = "Mathe"
- And kurse.ID = belegt.KursID
- Group by kurse.ID
- 10) **Wie groß ist die durchschnittliche Anzahl an Schülern in einem Kurs?
- Select AVG(Summe)
- From (Select COUNT(belegt.SchuelerID) as Summe
- From schueler, belegt, kurse
- Where schueler.ID = belegt.SchuelerID
- And belegt.KursID = kurse.KursID
- Group by schueler.ID)as t
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement