Hay buen material de esto. Mi primera exposición a lo nuevo en SQL fue:
https://modern-sql.com/video
CTE es un poco mas dificil de entender, pero las funciones windows son mas simples.
SQL funciona maso asi:
Código PHP:
for current in query.next() do
//tengo solo una fila. No se que datos habian antes o despues
print current
Con windows ( un "window" aqui se entienden como una "vista a la ejecucion"), es como si pasara esto:
Código PHP:
old = null;
next = null
for current, next in query.next(); query.next() do
print old, current, next //la fila anterior, actual y siguiente
//Ahora puedo usar acumulados en base a lo anterior!
old = current