Ich habe eine Tabelle wie folgt aus:Lag() mit conditon in SQL Server
Number Price Type Date Time
------ ----- ---- ---------- ---------
23456 0,665 SV 2014/02/02 08:00:02
23457 1,3 EC 2014/02/02 07:50:45
23460 0,668 SV 2014/02/02 07:36:34
Für jede EC I vorherigen/nächsten SV Preis benötigen. In diesem Fall ist die Abfrage einfach.
Select Lag(price, 1, price) over (order by date desc, time desc),
Lead(price, 1, price) over (order by date desc, time desc)
from ITEMS
Aber gibt es einige spezielle Fälle, in denen zwei oder mehr Reihen EG sind:
Number Price Type Date Time
------ ----- ---- ---------- ---------
23456 0,665 SV 2014/02/02 08:00:02
23457 1,3 EC 2014/02/02 07:50:45
23658 2,4 EC 2014/02/02 07:50:45
23660 2,4 EC 2014/02/02 07:50:48
23465 0,668 SV 2014/02/02 07:36:34
kann ich in diesen Fällen Blei/Lag verwenden? Wenn nicht, musste ich eine Unterabfrage verwenden?
Danke
Großartige Lösung, aber mein RDBMS (Netezza) beschwert sich, dass das Offset-Orgument zur Lead-Funktion eine "positive Integer-Konstante" sein muss. – stevepastelan