dedlfix: Gezielte Tabellenabfrage

Beitrag lesen

Tach!

Du musst dir also zuerst von jedem nur einen Datensatz holen:
Aber den jüngsten dieser Datensätze:
Jetzt hast du eine schöne Teilmenge deiner Datensätze, daraus sammelst du jetzt die gewünschten Daten heraus:

SELECT column FROM table WHERE timestamp IN

(SELECT MAX(timestamp) FROM table GROUP BY name)

  
Das gibt nur ein kleines Problem. Wenn die Timestamps nicht fein genug auflösen und zwei Einträge denselben Timestamp haben, der eine aber zu einer Gruppe gehört, die noch neuere Datensätze hat, dann kommen von der Gruppe zwei Datensätze in die Ergebnismenge.  
  
Wenn man es richtig machen will und sich nicht auf die üblicherweise aber icht garantiert aufsteigend vergebenen Werte der IDs verlassen möchte, muss man den Gruppennamen und den Timestamp berücksichtigen. Dann kann man aber die Subquery nicht mehr ins WHERE nehmen, sondern ins FROM und muss joinen. Die Join-Bedingung muss beide Werte vergleichen.  
  
  
dedlfix.