Martinek: doppelte Einträge -> letzten anzeigen

Hi Leute,

ich habe folgende Tabelle t1:

+----+------------+--------+
| id | datum      | anzahl |
+----+------------+--------+
| 10 | 2011-08-25 |    100 |  <--- ...
| 23 | 2011-08-25 |     30 |
| 26 | 2011-08-25 |     70 |
| 50 | 2011-08-26 |     20 |
| 10 | 2011-08-26 |    130 |  <--- Doppelte id
| 52 | 2011-08-27 |     60 |
+----+------------+--------+

Jetz möchte ich ein SELECT haben, das mir alle Datensätze ausgibt und dabei doppelte IDs nur einmal anzeigt, aber immer die Zeile mit dem höchsten Datum.

Ich habe schon probiert

  
SELECT * FROM t1  
GROUP BY id  
ORDER BY crawldate DESC  

aber es wird mir immer die erste Zeile (bei doppeltem Vorkommen) ausgegeben.
Res:
| 10 | 2011-08-25 |    100 |  <---
| 23 | 2011-08-25 |     30 |
| 26 | 2011-08-25 |     70 |
| 50 | 2011-08-26 |     20 |
| 52 | 2011-08-27 |     60 |

Mir fällt sonst nur noch ein das über ein sub select zu machen, wo ich anhand des datum vorsortiere, aber das wollte ich vermeiden, weil das ja nicht so performant ist.

Habt ihr eine Idee wie es noch anders möglich wäre?

Danke.

Gruß
Martin

  1. Achja, trotz Extrahinweis vergessen (schäm): Ich benutze MYSQL 5.

    1. Hi!

      Achja, trotz Extrahinweis vergessen (schäm): Ich benutze MYSQL 5.

      5.0, 5.1, 5.5, 5.6 oder was genau? Aber eigentlich ist das auch nicht weiter wichtig, weil die Feature-Sprünge in der 5 nicht so gravierend sind. Wichtiger wäre, ob du schon mal im Archiv nach diesem immer mal wieder gefragten Thema fündig geworden bist, beziehungsweise, was die an den Lösungen nicht gefallen hat?

      Lo!