
Zitat von
akretschmer
Also z.B. immer die Summe von val des aktuellen Record und dem davor. Oder Summe von val von Record davor, aktuell und danach.
Das ist einfach 
Code:
SELECT id,
val,
val + lag(val,1,0) over (order by id) as summe_mit_vorher,
val + lag(val,1,0) + over (order by id) + lead(val, 1, 0) over (order by id) as summe_vorher_und_nachher
FROM bla; lag() greift auf die "vorherige" row zu. Der erste parameter definiert die Spalte aus der Zeile. Der zweite parameter definiert wie weit man zurückgehen will (2 bedeutet 2 Zeilen zurück usw), der dritte Parameter der default wert, falls es diese Zeile nicht gibt (bei der ersten gibt es ja keinen Vorgänger.
Erste/Vorherige usw. bezieht sich auf die Sortierung die in over() angegeben wurde.
Mit negativen Werten für den zweiten Parameter geht man "vorwärts". Aber dafür kann man auch die lead() Funktion verwenden.
Lesezeichen