La funzione LAG in SQL consente di recuperare la riga precedente in un offset specifico dalla riga corrente. Ciò significa che puoi accedere alla riga precedente dalla riga corrente. È inoltre possibile specificare un particolare offset per accedere al secondo, terzo e così nella riga precedente.
Discutiamo di come possiamo usare la funzione LAG in SQL.
Sintassi della funzione
La sintassi della funzione è come mostrata:
Lag (Scalar_Expression [, offset] [, default])I parametri della funzione sono espressi come mostrato di seguito:
Esempio 1
Supponiamo di avere una tabella contenente i dati dei dipendenti come mostrato:
Per ottenere i nomi dei dipendenti attuali e precedenti, possiamo eseguire la query come mostrato:
Seleziona full_name, lag (full_name)Il codice sopra dovrebbe restituire i nomi dei dipendenti attuali e precedenti in ogni partizione.
L'output è come mostrato:
Esempio 2
Se non vi è alcuna riga precedente nella partizione, la funzione restituirà null. Se vogliamo impostare un valore per le righe inesistenti, possiamo impostare il parametro predefinito come mostrato:
Seleziona full_name, lag (full_name, 1, "persona scomparsa")Questo dovrebbe sostituire i valori null con "persona scomparsa.'L'output verrà mostrato di seguito:
Esempio 3
Supponiamo di voler accedere a due righe dalla riga corrente? Possiamo farlo specificando l'offset come mostrato:
Seleziona full_name, lag (full_name, 2, 'n/a')La query sopra dovrebbe tornare a due righe e selezionare il suo valore.
Produzione:
Conclusione
In questo articolo, hai imparato come utilizzare la funzione SQL lag () per accedere alla riga precedente dalla riga corrente.
Grazie per aver letto!!