Lag -funksjonen i SQL lar deg hente forrige rad ved en spesifikk forskyvning fra den nåværende raden. Dette betyr at du kan få tilgang til forrige rad fra den nåværende raden. Du kan også spesifisere en bestemt forskyvning for å få tilgang til den andre, tredje og så på forrige rad.
La oss diskutere hvordan vi kan bruke etterslepfunksjonen i SQL.
Funksjonssyntaks
Funksjonssyntaksen er som vist:
Lag (scalar_expression [, offset] [, standard])Funksjonsparametrene uttrykkes som vist nedenfor:
Eksempel 1
Anta at vi har en tabell som inneholder ansattes data som vist:
For å få gjeldende og tidligere ansattnavn, kan vi kjøre spørringen som vist:
Velg full_navn, lag (full_name)Koden over skal returnere gjeldende og tidligere ansattes navn i hver partisjon.
Utgangen er som vist:
Eksempel 2
Hvis det ikke er noen tidligere rad i partisjonen, vil funksjonen returnere null. Hvis vi ønsker å angi en verdi for de ikke-eksisterende radene, kan vi angi standardparameteren som vist:
Velg full_navn, lag (full_name, 1, 'Missing Person')Dette skal erstatte nullverdiene med 'manglende person.'Utgangen vises nedenfor:
Eksempel 3
Anta at vi vil få tilgang til to rader tilbake fra den nåværende raden? Vi kan gjøre det ved å spesifisere forskyvningen som vist:
Velg full_name, lag (full_name, 2, 'n/a')Spørringen over skal gå tilbake til to rader og velge verdien.
Produksjon:
Konklusjon
I denne artikkelen lærte du hvordan du bruker SQL LAG () -funksjonen for å få tilgang til forrige rad fra den nåværende raden.
Takk for at du leste!!