Ich will aus einer Tabelle Produkte herauslesen, hier soll es den Geräte-Hersteller erst herauslesen, dann das Produkt und anschlissend nur die neuste Version (also die mit der größten Nummer) die restlichen Versionen sollen unter den Tisch fallen. Weiß jemand wie ich das Abfragen kann bzw. diese aussieht?
Nur erstes Ergebnis nehmen
Einklappen
X
-
Code:SELECT ..... FROM ..... WHERE .... [b]ORDER BY id DESC LIMIT 1[/b]
INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |
-
Erst mal Danke für die schnelle Hilfe... Klappt allerdings noch net so ganz, weiß nicht genau was ich falsch mache.
Daher hier mal der Befehl:
$sql = "SELECT
Hersteller,
Produkt,
Version,
Datum,
Sprachen,
Notes,
Download,
Autor
FROM
yc_produkte
ORDER BY
Hersteller ASC,
Produkt ASC,
Version DESC Limit 1;";
Jetzt soll er, wie schon erwähnt, erst nach dem Hersteller suchen, dann nach dem Produkt und sollte es vom Produkt aus mehr Versionen geben, nur die erste auslesen und die anderen Hersteller und Produkte trotzdem, so macht er nämlich nur das erste was er bekommt. Was mache ich denn falsch?
Kommentar
-
du sortierst ja auch erst einmal nach hersteller und dann nach produkt bevor du nach der version sortierst. tausche das doch mal aus.INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |
Kommentar
-
Inwiefern *verweifel*
Er sollte ja erst sortieren nach Herstellern dann nach den Produkten und dann erst schauen was für Versionen es dazu gibt und dann soll er mir für den Kunden nur die neuste Version des jeweiligen Produktes zeigen.
Als Bsp.
Hersteller | Produkt | Version
-------------------------------------
Nokia Serie 60 | Spiel 1 | 1.20
Nokia Serie 60 | Spiel 1 | 1.00
Nokia Serie 60 | Spiel 2 | 1.35
Nokia Serie 60 | Spiel 2 | 1.30
Nokia Serie 60 | Spiel 2 | 1.15
Nokia Serie 60 | Spiel 2 | 1.00
Nokia 9210 | Spiel 1 | 1.00
Nokia 9210 | Spiel 2 | 1.10
Nokia 9210 | Spiel 2 | 1.00
Hier soll er also nur das Fettgedruckte ausgeben.
Da ich leider mit SQL noch nie gearbeitet habe, komm ich damit noch nicht recht klar. Zwar hab ich diverse Referenzen gelesen, aber für den fall nichts bestimmtes gefunden, daher sorry...
Kommentar
-
das wird auch so wohl nicht mit ORDER BY zu lösen sein.
teste mal das hier.
Code:SELECT hersteller,produkt,MAX(version) FROM tabelle GROUP BY hersteller,produkt ORDER BY hersteller,produkt
INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |
Kommentar
Kommentar