Verstehe GROUP nicht

Spelmann

Erfahrenes Mitglied
Hallo,

Vereinfachte Version meiner Tabelle:
ich habe eine Tabelle in der Buchtitel gespeichert werden.

Code:
    id    |  datum  |  buchtitel   |   rubrik   |
--------------------------------------------------
    1         12.5.        titel1         krimi
    2         13.5.        titel2         sachbuch
    3         17.5.        titel3         sachbuch
    4         20.05.      titel4         krimi

mit folgender Abfrage erhält mein Array den jeweils ersten Eintrag jeder "rubrik"

PHP:
if($ergebnis = $db->query
('SELECT buchtitel, rubrik, datum FROM buecher GROUP by rubrik ORDER by datum DESC')){
                while($zeile=$ergebnis->fetch_object()){
                    if($zeile->id){
                        $liste[] = array('id' => $zeile->id, 'titel' => $zeile->buchtitel);
                        }
                    }
                }

Was muss ich tun um den jeweils aktuellsten Eintrag zu erhalten, Also titel3 und titel4?
(Das Datum ist als Feld vom Type Date angelegt)


Ich hab bisher nur, für mich, total kryptische Lösungen gefunden, die ich nicht verstanden habe.

Kann mir jemand auf die Sprünge helfen?
 
Zuletzt bearbeitet:
Dann hab ich dich falsch verstanden. Du hast jetzt X Einträge, bei denen in der Rubrik "krimi" stehen und X Einträge bei denen "sachbuch" stehen? Und willst davon aber immer nur das letzte haben, also das mit dem jeweils höchsten Datum?
 
Ja, so hätte ich das gern. Ich doktor da jetzt schon 4 Stunden dran rum.
Ich geb mir noch ne Stunde, wenn ich es dann nicht habe, mache ich einfach nacheinander 5 Abfragen (soviel Rubriken gibt es). Ist zwar nicht elegant aber wird funktionieren.
 
Ich bin ein Volldepp ;)
War eine schlechte Idee von mir, DATE statt TIMESTAMP für das Datum zu nehmen.
Wenn zwei Einträge das selbe Datum haben, werden sie nämlich beide ausgegeben.
Trotz max 5 Rubriken kann ich dann 6 oder mehr Datensätze im Array haben.
Ansonsten funktioniert dein Beispiel. Vielen Dank!
Hast Du eine Idee wie ich das noch steuern kann?
Hab keine Lust das ganze CMS umzubauen.
 
Ich habe auch DATE als Typ verwendet. Ich hab es grad mal ausprobiert und sehe, was du meinst. An dieser Stelle vielleicht im äußeren SELECT zusätzlich das GROUP BY rubrik anhängen?
 
Das isses. Wär ich nicht drauf gekommen. Ich kapier diese SQL Syntax einfach nicht. In PHP tippe ich mir inzwischen schon einiges zusammen, aber diese SQL Statements erschließen sich mir nur mühsam.

Ich danke Dir recht herzlich und wünsche Dir noch einen schönen Restsonntag!
 

Neue Beiträge

Zurück