LEAD
Devuelve el valor de la fila que está offset filas después de la actual en la partición de la ventana.
PostgreSQL 17.9
LEAD(column[, offset[, default]])- [ ]parte opcional
- column
- Columna o expresión cuyo valor se toma de la fila siguiente
- offset
- Cuántas filas hacia delante, 1 por defecto; un valor negativo mira hacia atrás, como LAGintegerOpcional
- default
- Valor del tipo de column si no hay fila con ese desplazamiento; NULL por defectoOpcional
Valor devuelto
Valor del tipo de column; default o NULL si no hay fila con ese desplazamiento, por ejemplo en la última fila de una partición
Ejemplos
Una y dos filas hacia delante
PostgreSQL 17.9
SELECT member_name,
birthday,
LEAD(member_name) OVER (
ORDER BY birthday
) AS next_member,
LEAD(member_name, 2, 'none') OVER (
ORDER BY birthday
) AS two_rows_ahead
FROM FamilyMembers;Tiempo hasta la siguiente compra
PostgreSQL 17.9
SELECT family_member,
date,
LEAD(date) OVER (
PARTITION BY family_member
ORDER BY date
) AS next_date,
LEAD(date) OVER (
PARTITION BY family_member
ORDER BY date
) - date AS until_next
FROM Payments
ORDER BY family_member,
date;Detalles
La diferencia con la fila siguiente es LEAD(column) OVER (...) - column: para la última fila de una partición es NULL. default tiene que ser del mismo tipo que column.