Advertisement
Guest User

Untitled

a guest
Feb 20th, 2020
127
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.30 KB | None | 0 0
  1. Abfragen mit Aggregatfunktionen – Mögliche Lösungen
  2. 1) Wie viele Schüler gibt es?
  3. Select count(schueler.ID)
  4. From schueler;
  5. 2) In wie vielen unterschiedlichen Räumen findet der Unterricht statt?
  6. SELECT count(distinct Raumnummer)
  7. From findet_statt
  8. 3) Wie oft ist der Raum 104 in der Woche belegt?
  9. Select count(Raumnummer)
  10. From findet_statt Where Raumnummer = 104
  11.  
  12. 4) ***Was ist die durchschnittl. Wochenstundenzahl der Schüler?
  13. Select AVG(Summe)
  14. 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
  15.  
  16. 5) **Wie viele Stunden hat Lehrer XXX durchschnittlich am Tag?
  17. Select AVG(Summe)
  18. From (Select sum(fs.Stundenzahl) as Summe
  19. From findet_statt as fs, Lehrer AS L, kurse as k
  20. Where L.Nachname = "Winter"
  21. And k.Lehrer = L.kuerzel
  22. And k.ID = fs.KursID
  23. Group by fs.Tag) as t, findet_statt
  24.  
  25. 6) Was ist die späteste Unterrichtsstunde von Lehrer XXX?
  26. Select findet_statt.Zeit, findet_statt.Tag, Lehrer.kuerzel, kurse.ID
  27. From findet_statt, Lehrer, kurse
  28. Where Lehrer.Nachname = "Winter"
  29. And kurse.Lehrer = Lehrer.kuerzel
  30. And kurse.ID = findet_statt.KursID
  31. Order by findet_statt.Zeit desc
  32. Späteste Unterrichtsstunde aller Lehrer:
  33. Select MAX(findet_statt.Zeit)
  34. From findet_statt, Lehrer, kurse
  35. Where kurse.lehrer = Lehrer.kuerzel
  36. And kurse.ID = findet_statt.KursID
  37.  
  38. 7) ****Welche Lehrkraft hat die kleinsten Kurse?
  39. Select DISTINCT count(belegt.schuelerID), lehrer.kuerzel
  40. FROM lehrer, kurse, belegt
  41. Where kurse.ID = belegt.KursID
  42. AND kurse.lehrer = lehrer.kuerzel
  43. Group by kurse.ID
  44. Order by count(belegt.SchuelerID)
  45. Limit 1
  46.  
  47. Oder (ohne Limit):
  48. Select distinct lehrer.nachname, m
  49. From (Select Min(count_schueler)as m
  50. From (Select Count(belegt.schuelerID) as count_schueler, Kurse.ID as K_ID
  51. From belegt, Kurse
  52. Where belegt.KursID = Kurse.ID
  53. Group by Kurse.ID) as d) as t,
  54. (Select Count(belegt.schuelerID) as count_schueler, Kurse.ID as K_ID
  55. From belegt, Kurse
  56. Where belegt.KursID = Kurse.ID
  57. Group by Kurse.ID) as ta, lehrer, kurse
  58. Where kurse.ID = K_ID
  59. ANd m = count_schueler
  60. And lehrer.kuerzel = kurse.Lehrer
  61.  
  62.  
  63. 8) ***Welcher Kurs hat die meisten Schüler?
  64. Select DISTINCT count(belegt.schuelerID), kurse.ID
  65. FROM kurse, belegt
  66. Where kurse.ID = belegt.KursID
  67. Group by kurse.ID
  68. Order by count(belegt.SchuelerID) DESC
  69. Limit 2
  70.  
  71. Oder (ohne Limit):
  72. Select distinct kurse.ID, m
  73. From (Select Max(count_schueler)as m
  74. From (Select Count(belegt.schuelerID) as count_schueler, Kurse.ID as K_ID
  75. From belegt, Kurse
  76. Where belegt.KursID = Kurse.ID
  77. Group by Kurse.ID) as d) as t,
  78. (Select Count(belegt.schuelerID) as count_schueler, Kurse.ID as K_ID
  79. From belegt, Kurse
  80. Where belegt.KursID = Kurse.ID
  81. Group by Kurse.ID) as ta, lehrer, kurse
  82. Where kurse.ID = K_ID
  83. And m = count_schueler
  84.  
  85.  
  86. 9) **Ausgabe aller Mathe-Kurse mit Anzahl der Schüler.
  87. Select kurse.ID, count(belegt.SchuelerID)
  88. From kurse, belegt
  89. Where kurse.Fach = "Mathe"
  90. And kurse.ID = belegt.KursID
  91. Group by kurse.ID
  92.  
  93. 10) **Wie groß ist die durchschnittliche Anzahl an Schülern in einem Kurs?
  94. Select AVG(Summe)
  95. From (Select COUNT(belegt.SchuelerID) as Summe
  96. From schueler, belegt, kurse
  97. Where schueler.ID = belegt.SchuelerID
  98. And belegt.KursID = kurse.KursID
  99. Group by schueler.ID)as t
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement