Ich habe eine Abfrage, die eine Reihe von Verknüpfungen und hat ein paar Kriterien in der WHERE-Klausel, und ich bin am Ende mit einem Ergebnis, das im Wesentlichen wie folgt aussieht:
| userId | date | otherData |
|--------+------------+------------|
| 1 | 2008-01-01 | different |
| 1 | 2009-01-01 | info |
| 1 | 2010-01-01 | for |
| 2 | 2008-01-01 | each |
| 3 | 2008-01-01 | row |
| 3 | 2009-01-01 | here |
Im Wesentlichen gibt es also für jeden Benutzer ein oder mehrere Daten in der Vergangenheit und 0 oder mehrere Daten in der Zukunft.
Ich muss den Datensatz irgendwie auf eine Zeile pro Benutzer reduzieren, nur die Zeile mit dem zuletzt abgelaufenen Datum auswählen . Das heißt, mit welcher Magie auch immer GROUP BY
o HAVING
Klausel hinzugefügt wird, würde das obige Ergebnis wie folgt aussehen:
| userId | date | otherData |
|--------+------------+------------|
| 1 | 2009-01-01 | info |
| 2 | 2008-01-01 | each |
| 3 | 2009-01-01 | here |