• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

MySQL abfrage group by auf letzten doppelten bündeln

Cheffchen

Senior HTML'ler
Hallo Leute,
ich stehe mal wieder total auf dem Schlauch.

wie der Titel schon Sagt, ich habe ein Datenbank mit x Spalten (id,date,land usw)
In der Ausgabe sollen alle einträge ab bestimmtes Date ausgegeben werden mit der besonderheit wenn ein Datum mehrfach vorkommt dann der Datensatz mit der höchsten id.
Mein Ansatz war dies aber group by bündelt die doppelten auf den ersten gefunden ich brauche das auf den letzten,
PHP:
SELECT * FROM table where date >  '$datumdb' group by date ORDER BY id DESC
DB
id date land ...
1 2010-02-20 D ...
2 2010-04-12 F ...
3 2010-02-20 GB ...

Ausgabe sollte sein (rein folge ist egal):
2 2010-04-12 F ...
3 2010-02-20 GB ...

ist leider
1 2010-02-20 D ...
2 2010-04-12 F ...

blickt da einer von euch durch oder ist die Frag unverständlich?

Cheffchen
 
Mit einem Subselect sollte es gehen. Weiß nicht, ob es auch mit einem JOIN zu machen ist.

Code:
SELECT
    a.`id`,
    a.`date`,
FROM
    `table` a
WHERE
    a.`id` IN (
        SELECT
            MAX(b.`id`)
        FROM
            `table` b
        GROUP BY
            b.`date`
    )
 
Besten Dank funzt super.
muss den Syntax zwar noch in ruhe anschauen das ich das auch nachvollziehen kann.

Cheffchen
 

Neueste Beiträge

Zurück
Oben