WCM Forum

WCM Forum (http://www.wcm.at/forum/index.php)
-   Programmierung (http://www.wcm.at/forum/forumdisplay.php?f=17)
-   -   SQL-frage: GROUP BY vs. DISTINCT (http://www.wcm.at/forum/showthread.php?t=186830)

RaistlinMajere 05.03.2006 17:28

SQL-frage: GROUP BY vs. DISTINCT
 
folgende tables sind gegeben:

student(matnr, name, addr, tel, alter)
anmeldung(matnr, lvanr, note)

angenommen ich will die namen der studenten wissen, welche zumindest 3 1er hatten.

da gäbs mal diese möglichkeit:
Code:

SELECT name FROM student s, anmeldung a WHERE a.matnr=s.matnr AND note=1 GROUP BY a.matnr, name HAVING count(*)>=3;
wenn ich das richtig verstanden habe bräuchte ich das "name" in GROUP BY eigentlich nicht, in dem ich aber auch nach den namen gruppiere, sorge ich dafür, daß derselbe student nicht mehrmals ausgegeben wird.

für den fall, daß das stimmt, würde ich dassselbe aber auch über DISTINCT erreichen können, oder? also so:
Code:

SELECT DISTINCT name FROM student s, anmeldung a WHERE a.matnr=s.matnr AND note=1 GROUP BY a.matnr HAVING count(*)>=3;
stimmt das so, führen diese beiden anweisungen tatsächlich zum selben ergebnis?

delphirocks 05.03.2006 20:24

Wenn's bei dem "distinct" 2 "Meier" mit unterschiedlicher MatNr gibt, dann fällt einer der beiden unter den Tisch...

Beim ersten Statement bekommst du beide angezeigt (was du wahrscheinlich auch willst).

RaistlinMajere 05.03.2006 20:49

stimmt!
danke. :)


Alle Zeitangaben in WEZ +2. Es ist jetzt 15:37 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
© 2009 FSL Verlag