Datenbankabfrage

palej

Neuer Benutzer
Beiträge
1
Hallo werte Forumsmitglieder,

könntet ihr mir bitte bei folgenden Abfragen helfen, da diese bei mir leider immer ins leere gehen, ich bin aber auch ein Anfänger auf diesem Gebiet. Sollte dies nicht das richtige Forum dafür sein möchte ich mich dafür entschuldigen ;)

Fragestellung:
Geben Sie den Notendurchschnitt für einige Studierende aus. Sie interessieren sich für den Notendurchschnitt aller Studierenden, die im selben Quartal wie Sie Geburtstag haben und zusätzlich in Linz und Umgebung wohnen. (Es sind alle Orte zulässig, die Linz im Namen enthalten.)
Für den Notendurchschnitt sollen nur Kurse berücksichtigt werden, die bereits absolviert wurden. In der Ausgabe sollen zudem nur jene aufscheinen, deren Notendurchschnitt zumindest 3,0 ist.

Meine Abfrage:
SELECT AVG(note), student.geburtsdatum,plz.ort
FROM absolvierung, student, plz
WHERE student.matnr=absolvierung.student
AND plz.plz=student.plz
AND QUARTER (geburtsdatum)=2
AND plz.ort LIKE "Linz%"
AND absolvierung.note>3.0
GROUP BY student.matnr

die Falschmeldung die ich immer wieder bekomme
ERROR: Falsche Eingabe ---> 'sql2.student.geburtsdatum' isn't in GROUP BY

Und:
Wieviel haben wir durch welche Kurse eingenommen? Gruppieren Sie nach LVA-Titel, LVA-Nummer und Semester. (Der Preis welcher in „lv“ angegeben ist, gilt pro Student). Blenden Sie in der Liste alle Zeilen ohne Einnahmen aus und sortieren Sie das Ergebnis chronologisch aufsteigend → ältester Wert soll oben in der Liste sein.

Meine Abfrage:
SELECT SUM(lv.preis), fach.name, lv.lvnr, lv.sem
FROM fach, klasse, lv
WHERE fach.fach=klasse.fach
AND klasse.klasse=lv.klasse
GROUP BY Date

Fehlermeldung
ERROR: Falsche Eingabe ---> Unknown column 'Date' in 'group statement'

im Anhang wäre ein Bild von der Datenbank


ich wäre für weitere Anregung dankbar

Mfg Palej
 

Anhänge

  • Bildschirmfoto 2019-09-19 um 15.10.34.png
    Bildschirmfoto 2019-09-19 um 15.10.34.png
    212,1 KB · Aufrufe: 1
Werbung:
Du kannst nur nach etwas gruppieren (GROUP BY) das auch im Select enthalten ist, und alles im SELECT muss entweder eine Agregationsfunktion wie SUM oder im GROUP BY enthalten sein. Lies Dir einfach das mit dem GROUP BY noch einmal durch.
 
Werbung:
tja, die Fehlermeldungen sind ja eindeutig, oder? Wenn Du aggregierst (als hier avg()), dann müssen alle Spalten im Result aggregiert ODER gruppiert sein. Und die Spalte existiert auch nicht.
 
Zurück
Oben