MYSQL beim Select eine ID nur einmal ausgeben
Susanne
- datenbank
Hallo,
mein Name ist Susanne und ich bin durch google hier gelandet. Das Forum ist ja schon sehr Hilfreich, daher versuche ich es einmal mit meiner Anfängerfrage.
Kurz zur Erklärung ich habe eine Datenbank mit 2 Spalten
1 ID ; 2 Preis
Die Spalten ID und Preis sind nicht unique.
Nun möchte ich die Spalte sortieren nach dem Preis, möchte aber das jede ID nur einmal angezeigt und dann die jeweils günstigste Variante.
Mein Ansatz ist die wohl simpleste Version:
SELECT * FROM testdaten ORDER BY Preis ASC
hier sind dann die doppelten ID´s aber noch immer vorhanden! Wie bekomme ich es jetzt hin das jede ID nur einmal ausgegeben wird und zwar die mit dem günstigstem Preis?
Danke Susanne
Mahlzeit Susanne,
Nun möchte ich die Spalte sortieren nach dem Preis, möchte aber das jede ID nur einmal angezeigt und dann die jeweils günstigste Variante.
Suche hier im Forumsarchiv nach dem Stichwort "korrelierte Unterabfrage".
MfG,
EKKi
Hi,
Suche hier im Forumsarchiv nach dem Stichwort "korrelierte Unterabfrage".
Reicht da nicht group by und min()?
~dave
Hallo ~dave,
ich habe einmal gebastelt:
SELECT * FROM testdaten GROUP BY id ORDER BY Preis ASC
das sieht schon einmal klasse aus aber wie meinst du jetzt das MIN ein zu setzten?
Hallo Susanne
SELECT id, MIN(preis) as preis FROM testdaten GROUP BY id ORDER BY Preis ASC
sollte des Rätsels Lösung sein
gruß Emetiel
Danke Emetiel
das hat wirklich geholfen.
susanne
Hallo EKKi,
viel Dank ich weiß jetzt also dank http://dev.mysql.com/doc/refman/5.1/de/correlated-subqueries.html das man zwei Selectabfragen in einer Abfrage verbinden kann.
Vielleicht bin ich jetzt zu sehr Anfänger, aber wie hängst das mit meiner ursprünglichen Frage zusammen?
Hallo,
Kurz zur Erklärung ich habe eine Datenbank mit 2 Spalten
1 ID ; 2 Preis
Die Spalten ID und Preis sind nicht unique.
Die Benamung der Spalte ID ist in deinem Fall sehr ungünstig. ID steht für Identifier - wenn der nicht unique ist ist es auch kein Identifier.
vg ichbinich
Hallo ichbinich,
ok das entspricht nicht dem üblichen Syntax man könnte sie auch ArtikelID nennen. Habe das jetzt einmal in der Datenbank geändert.
Gruß Susanne