View Full Version : [FRAGE] - SQL Befehle...
Hallo,könnt mir jemand bitte erklären was diese 2 befehle machen bzw. wofür sie gut sind.
1)GROUP BY
2) (+)=
andras98
26-05-2002, 12:52
und bitte noch was "foo" bedeutet.
thx
Hi, fang grad die SQL-Beispiele an.
GROUP BY bedeutet, daß er diejenigen Einträge zusammenfaßt, die unter GROUP BY gefordert sind. Auf Seite 94 ist ein schönes Beipspiel dafür.
Z.B. GROUP BY Vorname bedeutet, daß er alle Personen mit dem gleichen Vornamen in dieser Abfrage als einen Eintrag sieht (das hat aber keine Auswirkungen auf die anderen Attribute, die bleiben nach wie vor für jede Person so wie sie waren, z.B. die Nachnamen oder die SV-Nummern).
Das andere kenn ich auch nicht.
Hat sich ja voll ausgezahlt, die Ligth-Version von dem Buch zu kaufen (siehe Weak Identity z.B.), ich hätt gern mehr Geld für das "ordentliche" Buch gezahlt - Danke Veith :coolgrim:
o.k aber wofür ist das zb bei BSP.4 gut:
SELECT Buch.Titel, COUNT (InvNR)
FROM Buch, Exemplar
WHERE Exemplar.ISBN = Buch.ISBN
AND Exemplar.RegalNr = 5
GROUP BY Buch.Titel;
wofür brauch ich hier das GROUP BY?:confused: ?
meriadoc
26-05-2002, 16:03
du brauchst hier das group by wegen dem count:
wenn du zum beispiel 3 exemplare vom buch "XXX" im regal 5 hast, würde er dir sonst zurückgeben buch XXX anzahl 1, buch XXX anzahl 1, buch XXX anzahl 1,
wenn du es aber "groupst" (nach titel) gibt er dir den titel nur einmal aus, und zählt die anzahl der exemplare zusammen - XXX anzahl 3!
ich hoff des stimmt so;-)
Das denke ich auch, wenn man sich vorstellt, was er macht:
SELECT Buch.Titel, COUNT (InvNR)
FROM Buch, Exemplar
WHERE Exemplar.ISBN = Buch.ISBN // alle Exemplare eines Buches
AND Exemplar.RegalNr = 5 // im Regal Nummer 5;
Da weiß er ja nicht, wo er anfangen soll zu zählen und wo aufhören, das würde eine Endlosschleife oder so werden, deswegen akzeptiert das die Datenbank auch nicht.
Mit Group By hingegen weiß er, daß er die Exemplare nach Buchtiteln zusammenfassen soll und kann dann diese abzählen.
@andreas98:
bin mir da a ned so ganz sicher, aber das wort taucht oft bei source-codes von div. programmiersprachen auf... und soweit ich das verstanden hab, heißt es soviel wie nix/unwichtig/schaas... und wird auch so eingesetz:
z.b.:
foo = a;
a = b;
b = foo; //zwischen-buffer
xyz = "foo"; //ich könnt genausogut abc reinschreiben
mfg, burny
P.S.: viell hilft dir das:
<A HREF="http://www.ucc.ie/cgi-bin/uncgi/acronym"> http://www.ucc.ie/cgi-bin/uncgi/acronym </A>
Dimitrij
27-05-2002, 12:01
Original geschrieben von andras98
und bitte noch was "foo" bedeutet.
thx
http://www.tuxedo.org/~esr/jargon/html/entry/foo.html
also damit ich das richtig versteh:
-allen exemplaren wird ein buch zugeordnet
-dann wird geschaut welche exemplare in regal 5 sind.
-dann werden die eintrage nach Buch.Titel "gegroupt"
-zuletzt werden die InvNr pro Group gezählt und der buchtitel ausgegeben.
richtig?stimmt die reihenfolge?
vBulletin® v3.7.1, Copyright ©2000-2008, Jelsoft Enterprises Ltd.