Oracle SQL-Abfrage: Neueste Werte pro Gruppe basierend auf der Zeit abrufen [duplizieren]
Diese Frage hat hier bereits eine Antwort:
Rufen Sie die Zeile mit dem Maximalwert für eine Spalte ab 34 AntwortenIch habe die folgende Tabelle in einer Oracle-DB
id date quantity
1 2010-01-04 11:00 152
2 2010-01-04 11:00 210
1 2010-01-04 10:45 132
2 2010-01-04 10:45 318
4 2010-01-04 10:45 122
1 2010-01-04 10:30 1
3 2010-01-04 10:30 214
2 2010-01-04 10:30 5515
4 2010-01-04 10:30 210
Jetzt möchte ich den neuesten Wert (und seine Zeit) pro ID abrufen. Beispielausgabe:
id date quantity
1 2010-01-04 11:00 152
2 2010-01-04 11:00 210
3 2010-01-04 10:30 214
4 2010-01-04 10:45 122
Ich kann einfach nicht herausfinden, wie ich das in eine Abfrage einbauen soll ...
Zusätzlich wären folgende Optionen schön:
Option 1: Die Abfrage sollte nur Werte aus den letzten XX Minuten zurückgeben.
Option 2: Die ID sollte mit Text aus einer anderen Tabelle verknüpft werden, die ID und ID-Name enthält. Die Ausgabe für id sollte dann lauten: id-idname (z. B. 1-testid1).
vielen dank für jede hilfe!