Hallo zusammen,
muss nächste Woche EDV Klausur schreiben und bin mir nicht ganz im klaren was der Befehl
GROUP BY in einem SQL befehl bewirkt.
Finde dazu nämlich nichts in meinem Skript
Danke für antworten.
Hallo zusammen,
muss nächste Woche EDV Klausur schreiben und bin mir nicht ganz im klaren was der Befehl
GROUP BY in einem SQL befehl bewirkt.
Finde dazu nämlich nichts in meinem Skript
Danke für antworten.
Hi!
Ich probier's mal, allerdings ist meine Sichtweise der Dinge nicht immer Leerbuchkonform. ;-)
Eine SQL-Anweisung liefert eine Menge an Datensätzen, das ist ja soweit klar, oder?
Es kann aber gewünscht sein, mehrere Datensätze zu einem neuen zusammenzufassen, quasi sie neu zu gruppieren. Genau das macht GROUP BY in einer SQL-Abfrage.
beispiel:
In einer Tabelle stehen die Adressen von Kunden. Ein Feld ist die Postleitzahl. Nun möchtest du eine Abfrage machen die ausgeben soll, welche PLZ vorhanden sind und wieviele Personen zur jeweiligen PLZ gehören. (Nur Kunden in Deutschland).
Die Anweisunf muss nun die Summe an Personen zurückliefern, gruppiert (also zusammengefasst) nach der PLZ.
select PLZ, count(kundennr)
from Kunden
where Land = "D"
group by PLZ
Nein, ich denke auch nicht, dass mein SQL-Statement 100% ok ist, aber es geht um's Prinzip und ich hab' keine Datenbank unter den Fingern - ein Embeded SQL-Statement nach Baan 4GL-Syntax würde dir warscheinlich auch nicht helfen. ;-)
Egal, ich hoffe du verstehst was ich meine.
Mit GROUP BY werden aus den verschiedenen datensätzen mit der gleichen Postleitzahl jeweils ein Datensatz "erzeugt", der dann ausgegeben wird.
Ich wdenke HAVING ist auch SQL-Standard. Mit HAVING kann man nun noch quasi zusätzliche Bedingungen für die Ausgabe der zusammengefassten datensätze festöegen:
having sum(Kundennr) > 5
Jetzt würden nur PLZ angezeigt, die mind. 5 Kunden "besitzen".
Bis denn
Andreas
Hallo Andreas,
cool!
ok dann lag ich ja doch nicht so falsch.
Denke das werde ich dann auf meine Beispiele übertragen können.
Muss ja eh nur wissen was welcher Befehl ist und ihn gar nicht schreiben können.
Ach ja noch was, kennst du dich auch mir ER-Modell aus?
Entity Relationship Modell?
Schreibe die Beziehungen(1;n)(n;m) immer irgendwie an die falsche stelle?
Gibts da eine hilfe wie ich mir das merken kann?
Gruß Johannes
Hi!
Oh je, ER kenn ich im Fernsehen. ;-)
Sorry, ich misste mich damit nur wenig rumplagen, bin da in der Theorie also nichts sattelfest.
Für mich ist eine (1:n)-Zuordnung eine Referenz aus verschiedenen Datensätzen auf einen einzelnen in einer anderen Tabelle.
Beispiel:
In Tabelle Kunden stehen die Kundendaten.
In Tabelle VK-Aufträge die Verkaufaufträge.
Jedem VK-Auftrag ist genau ein Kunden-Dastensatz zugeordnet.
Es gibt mehrer VK-Aufträge mit derselben Kunden.
Das wäre IMHO eine (1:n)-Zuordnung Kunden->VK-Aufträge.
-> Kunde (1:n) VK-Aufträge
Ich hoffe, das kann mal jemand gegenchecken. ;-)
Hmm, mehrer checken einen Beitrag, dürfte (n:1) sein, oder?
Bis denn
Andreas