Hi,
Wie lautet eine Abfrage in SQL, wenn man aus diesen Daten
id datum
für jede ID jeweils das letzte Datum vor dem 01.03.13 finden will?Selektiere als ersten Wert eindeutige IDs (distinct). Als zweiter kommt eine korrelierte Subquery zum Einsatz. Die findet eingeschränkt auf die ID aus der Hauptquery alle Datensätze, die kleiner sind als dein Datum. Absteigend sortiert und limitiert auf 1 hast du dein Davor-Datum.
Vielleicht verstehe ich es falsch... aber ich würde den Datensatz zunächst auf alle Zeilen eingrenzen, deren Datum vor dem 01.03.13 ist, und dann nach id gruppieren und den Datumseintrag wählen, das am größten ist.
SELECT id, MAX(datum)
FROM mytable
WHERE datum < '2013-03-01'
GROUP BY id
Halte _ich_ für einfacher, als hier mit korrelierten Unterabfragen zu arbeiten.
Bis die Tage,
Matti