Get it on Google Play
Tu partner Freelance para tus proyectos IT

Análisis de datos con MariaDB desde 0: Accediendo a filas anteriores/posteriores de un Select con LAG/LEAD

23-12-2020
Acceso a filas anteriores/posteriores en SQL

Acceso a filas anteriores/posteriores en SQL

Una de las funcionalidades mas buscadas en las bases de datos y que es muy fácil en una hoja de cálculo es el acceso a filas anteriores y posteriores. Mucha gente no sabe como acceder a estos datos.

Para esto tenemos la función LAG(Accede a la posición anterior n) y la función LEAD(Accede a la posición posterior n). Su sintaxis es la siguiente:

LAG( <expresión>, [offset] ) OVER (ORDER BY <campo orden>)

LEAD( <expresión>, [offset] ) OVER (ORDER BY <campo orden>)

Donde la ‘‘ es el campo o expresión calculada con los datos de la fila/s anterior o posterior, ‘offset’ es el número de filas que corres hacia delante o hacia atrás(por defecto es 1). También debemos especificarle los campos de orden para que sea capaz de encontrar la fila según el orden que toca mediante ‘ ‘.

Por ejemplo, podemos usarlo para calcular la suma de ‘subs_ganados’ entre dos vídeos:

SELECT 
    vid, 
    subs_ganados, 
    subs_ganados+LAG( subs_ganados,1 ) OVER (ORDER BY subs_ganados DESC) AS suma
	FROM youtube.subs
    ORDER BY subs_ganados DESC;

Si te ha servido, por favor comparte
 

Leave a Reply