Martinek: doppelte Einträge -> letzten anzeigen

Beitrag lesen

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