La función de retraso en SQL le permite obtener la fila anterior en un desplazamiento específico desde la fila actual. Esto significa que puede acceder a la fila anterior desde la fila actual. También puede especificar un desplazamiento particular para acceder al segundo, tercero, y así en la fila anterior.
Discutamos cómo podemos usar la función de retraso en SQL.
Sintaxis de funciones
La sintaxis de la función es como se muestra:
Lag (Scalar_Expression [, offset] [, predeterminado])Los parámetros de la función se expresan como se muestra a continuación:
Ejemplo 1
Supongamos que tenemos una tabla que contiene datos de empleados como se muestra:
Para obtener los nombres de los empleados actuales y anteriores, podemos ejecutar la consulta como se muestra:
Seleccione FULL_NAME, LAG (FULL_NAME)El código anterior debe devolver los nombres de los empleados actuales y anteriores en cada partición.
La salida es como se muestra:
Ejemplo 2
Si no hay una fila anterior en la partición, la función devolverá nulo. Si queremos establecer un valor para las filas inexistentes, podemos establecer el parámetro predeterminado como se muestra:
Seleccione Full_Name, LAG (Full_Name, 1, 'Persona faltante')Esto debería reemplazar los valores nulos con 'Persona faltante.'La salida se mostrará a continuación:
Ejemplo 3
Supongamos que queremos acceder a dos filas hacia atrás desde la fila actual? Podemos hacerlo especificando el desplazamiento como se muestra:
Seleccione Full_Name, LAG (Full_Name, 2, 'N/A')La consulta anterior debe volver a dos filas y seleccionar su valor.
Producción:
Conclusión
En este artículo, aprendió cómo usar la función SQL Lag () para acceder a la fila anterior desde la fila actual.
Gracias por leer!!