Hallo,
Ich habe mich soeben hier im Forum Angemeldet, weil ich ein kleines MySQL Problem habe. Mit PHP kenne ich mich gut aus, jedoch habe ich bisher nur wenige Datenbank Erfahrungen machen müssen. Ich hoffe jemand kann mir bei meinem Problemchen helfen.
Und zwar habe ich folgende Datenbank Konstellation:
timestamp | artikel | zusatz
xxxx | auto | bla bla
xxxx | auto | bla bla
xxxx | irgendwas | test
xxxx | haus | ...
xxxx | auto | bla bla
xxxx | auto | bla bla
xxxx | auto | bla bla
xxxx | irgendwas | test
xxxx | irgendwas | test
xxxx | auto | bla bla
xxxx | auto | bla bla
xxxx | auto | bla bla
xxxx | haus | ...
xxxx | haus | ...
xxxx | haus | ...
xxxx | haus | ...
xxxx | haus | ...
xxxx | irgendwas | test
xxxx | irgendwas | test
xxxx | irgendwas | test
xxxx | irgendwas | test
xxxx | irgendwas | test
xxxx | irgendwas | test
xxxx | auto | bla bla
Wie man sieht existieren 3 Spalten. Mit völligem Durcheinander.
Jetzt möchte ich folgendes erreichen es soll alles zuerst nach "artikel" sortiert werden, also A beginnend, diese Artikel z.b. "auto" sollen nun nochmals nach "timestamp" sortiert werden, und zwar der größte timestamp zuerst.
das ganze habe ich schon hinbekommen mit diesem Code:
'SELECT * FROM ' . $db[1] . ' ORDER BY artikel ASC, timestamp DESC'
So jetzt möchte ich aber zusätzlich noch erreichen das nur die ersten 3 Elemente jedes Artikels ausgegeben werden. d.h. ich möchte dass das ganze am Ende so aussieht:
timestamp | artikel | zusatz
xxxx | auto | bla bla
xxxx | auto | bla bla
xxxx | auto | bla bla
xxxx | haus | ...
xxxx | haus | ...
xxxx | haus | ...
xxxx | irgendwas | test
xxxx | irgendwas | test
xxxx | irgendwas | test
Also zuerst nach Artikel Sortiert, dann nach Timestamp, d.h. die größte Zahl bzw. der Neuste Timestamp oben, und davon dann nur jeweils die 3 Neuesten Arikel...
Und genau das bekomme ich einfach nicht hin. Wer kann helfen. Währe Sehr dankbar!
Ich habe mich soeben hier im Forum Angemeldet, weil ich ein kleines MySQL Problem habe. Mit PHP kenne ich mich gut aus, jedoch habe ich bisher nur wenige Datenbank Erfahrungen machen müssen. Ich hoffe jemand kann mir bei meinem Problemchen helfen.
Und zwar habe ich folgende Datenbank Konstellation:
timestamp | artikel | zusatz
xxxx | auto | bla bla
xxxx | auto | bla bla
xxxx | irgendwas | test
xxxx | haus | ...
xxxx | auto | bla bla
xxxx | auto | bla bla
xxxx | auto | bla bla
xxxx | irgendwas | test
xxxx | irgendwas | test
xxxx | auto | bla bla
xxxx | auto | bla bla
xxxx | auto | bla bla
xxxx | haus | ...
xxxx | haus | ...
xxxx | haus | ...
xxxx | haus | ...
xxxx | haus | ...
xxxx | irgendwas | test
xxxx | irgendwas | test
xxxx | irgendwas | test
xxxx | irgendwas | test
xxxx | irgendwas | test
xxxx | irgendwas | test
xxxx | auto | bla bla
Wie man sieht existieren 3 Spalten. Mit völligem Durcheinander.
Jetzt möchte ich folgendes erreichen es soll alles zuerst nach "artikel" sortiert werden, also A beginnend, diese Artikel z.b. "auto" sollen nun nochmals nach "timestamp" sortiert werden, und zwar der größte timestamp zuerst.
das ganze habe ich schon hinbekommen mit diesem Code:
'SELECT * FROM ' . $db[1] . ' ORDER BY artikel ASC, timestamp DESC'
So jetzt möchte ich aber zusätzlich noch erreichen das nur die ersten 3 Elemente jedes Artikels ausgegeben werden. d.h. ich möchte dass das ganze am Ende so aussieht:
timestamp | artikel | zusatz
xxxx | auto | bla bla
xxxx | auto | bla bla
xxxx | auto | bla bla
xxxx | haus | ...
xxxx | haus | ...
xxxx | haus | ...
xxxx | irgendwas | test
xxxx | irgendwas | test
xxxx | irgendwas | test
Also zuerst nach Artikel Sortiert, dann nach Timestamp, d.h. die größte Zahl bzw. der Neuste Timestamp oben, und davon dann nur jeweils die 3 Neuesten Arikel...
Und genau das bekomme ich einfach nicht hin. Wer kann helfen. Währe Sehr dankbar!
Kommentar