next_value
La función next_value es una función de ventana que devuelve el valor del siguiente registro del rango.
Requiere la cláusula ORDER BY en la partición OVER.
Se puede usar tanto la sintaxis OVER del SQL estándar como la sintaxis compacta propia de Crono.
Ejemplo
Sección titulada «Ejemplo»La siguiente consulta devuelve las ventas de cada mes y las ventas en el mes siguiente.
select year(fecha) anyo, month(fecha) mes, sum(unidades) ventas, next_value(ventas) over (order by anyo,mes) nextValue,from dbo.lb_ventasgroup by allLa misma consulta se puede construir con la sintaxis compacta del OVER:
select year(fecha) anyo, month(fecha) mes, sum(unidades) ventas, next_value(ventas order by anyo,mes) nextValue,from dbo.lb_ventasgroup by allLa consulta SQL generada en ambos casos es:
SELECT year(fecha) AS anyo, month(fecha) AS mes, sum(unidades) AS ventas, max(sum(unidades)) OVER (ORDER BY year(fecha),month(fecha) ROWS BETWEEN 1 FOLLOWING AND 1 FOLLOWING) AS nextValueFROM dbo.lb_ventasGROUP BY year(fecha), month(fecha)