Wählen Sie max Datum, dann max Zeit
Habe ich die Tabelle mit den Wechselkursen:
T_RATE_ID T_INPUTDATE T_INPUTTIME T_SINCEDATE
1 27.12.2012 22:41:01 28.12.2012
1 27.12.2012 23:45:21 28.12.2012
1 28.12.2012 21:23:11 29.12.2012
1 28.12.2012 21:40:01 29.12.2012
1 29.12.2012 22:33:49 30.12.2012
1 29.12.2012 23:47:19 30.12.2012
Wie select max Datum und dann max Zeit für dieses Datum?
Einfach SELECT MAX(t_sincedate), MAX(t_inputdate), MAX(t_inputtime)
gibt max Zeit in allen Datensätzen (23:47:19)
Möchte ich folgende Ergebnisse:
1 27.12.2012 23:45:21 28.12.2012
1 28.12.2012 21:40:01 29.12.2012
1 29.12.2012 23:47:19 30.12.2012
UPD:
Ich habe ein Datum, für welches ich rate Suche. Wenn es keine rate für dieses Datum, ich nehme das nächste Datum.
So in die where-Klausel habe ich where t_sincedate <= sysdate
- welche version von oracle?
- Oracle version 10g
- Können Sie ähnliche Zeile in der Tabelle?
1 27.12.2012 23:47:25 29.12.2012
- Was sind die Datentypen für die Spalten?
- Nein, es gibt jetzt ähnliche Zeilen.
- Datentyp DATUM ist
- Welchen Datentyp ist die
T_INPUTTIME
Feld? - T_INPUTTIME Datum
- Ist T_SINCEDATE eine redundante Spalte? Denn es ist T_INPUTDATE+1Tag.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Versuchen Sie dies:
partition by T_SINCEDATE
NICHTT_INPUTDATE
Basierend auf den Ergebnissen, die Sie liefern, die Sie nicht wirklich wollen, das max-Datum, sondern der unterschiedliche Termine mit max mal.
SQLFiddle demo
Wahrscheinlich, dass ich nicht Verstand den Sinn der Frage aber ich versuche es.