Hallo Ingrid (that's me),
wenn man einmal auf die Vorschau verzichtet, jetzt mit richtigem Link :-)
Sie soll aus einer Tabelle Datensätze so auswählen, dass zu jeder Referenz (ist ein Feld in der Datenbank) nur einer übrig bleibt und zwar der neueste. Ein Beispiel:
Tabelle:
ID | Referenz | Wert | Bearbeitet
1 | 5 | Arthur | 17.03.2007 15:04:34
2 | 5 | Zaphod | 18.03.2007 16:12:45
3 | 5 | Ford | 20.03.2007 05:54:32
4 | 3 | Prosser | 17.03.2007 10:23:44
5 | 3 | Vogon | 19.03.2007 23:54:32
6 | 3 | Agrajag | 25.03.2007 17:13:12
7 | 4 | Marvin | 11.03.2007 11:45:55
8 | 4 | Tricia | 13.03.2007 02:24:35Abfrage:
SELECT ID, Referenz, Wert, Bearbeitet FROM Tabelle xxxxx
Ergebnis:
ID | Referenz | Wert | Bearbeitet
3 | 5 | Ford | 20.03.2007 05:54:32
6 | 3 | Agrajag | 25.03.2007 17:13:12
8 | 4 | Tricia | 13.03.2007 02:24:35
Die bisherigen Antworten sind leider beide falsch und haben auch einen völlig falschen Ansatz. Das Zauberwort für dieses Problem heisst korrelierte Unterabfrage.
Du solltest meinen Archivbeitrag leicht auf Dein Problem anwenden können. Subselects unterstützt MySQL übrigens ab Version 4.1.
Freundliche Grüße
Vinzenz