Andreas the second: MySQL groupieren und sortieren

Ich habe ich einer Tabelle jedesmal eine neue Zeile wenn etwas aufgerufen wird, dort wird die ID und das Datum abgespeichert.

1 ! 2015-12-08 12:49:43
2 ! 2015-12-08 12:49:40
1 ! 2015-12-08 12:49:33
3 ! 2015-12-08 12:49:23

Jetzt möchte ich mir die letzten 10 IDs ausgeben lassen die aufgerufen werden,

SELECT id, datum  FROM table ORDER by datum DESC limit 10

Dann kommt folgende Ausgabe:

1
2
1
3

Nun möchte ich aber das alle doppelten nicht angezeigt werden sondern nur die neueste

quasi so:

1
2
3

Meine Lösung wäre dieses:

SELECT id, datum  FROM table GROUP by id ORDER by datum DESC limit 10

doch wenn ich eine Zelie groupiere, wird irgendein Datum dann zum sortieren genommen und nicht das neueste. Wie kann ich sortieren, nur mit dem neusten Datum?

Andreas

  1. Hallo,

    Wie kann ich sortieren, nur mit dem neusten Datum?

    ich glaub du suchst DISTINCT.

    Gruß
    Kalk

  2. Tach,

    Meine Lösung wäre dieses:

    SELECT id, datum  FROM table GROUP by id ORDER by datum DESC limit 10
    
    

    doch wenn ich eine Zelie groupiere, wird irgendein Datum dann zum sortieren genommen und nicht das neueste. Wie kann ich sortieren, nur mit dem neusten Datum?

    wie wäre es mit

    SELECT id, MAX(datum) as a FROM table GROUP by id ORDER by a DESC LIMIT 10
    

    ?

    mfg
    Woodfighter