SQL Lead -funksjonen lar deg få tilgang til neste rad fra den nåværende raden ved en spesifikk forskyvning. Kort sagt, blyfunksjonen lar deg få tilgang til neste rad fra den nåværende. Ved å spesifisere forskyvningsverdien, kan du få tilgang til neste 1, 2, 3 osv., rader fra den nåværende.
Det er motsatt av lag () -funksjonen, som lar deg få tilgang til tidligere rader.
SQL Lead ()
Funksjonssyntaksen er som vist:
Bly (Value_expression, offset [, standard])Følgende er de støttede argumentene:
Eksempel 1
Anta at vi har en tabell som inneholder ansattes informasjon som vist:
For å få tilgang til neste ansattes navn, kan vi kjøre en spørring som vist:
Velg ID, full_name, bly (full_name) over (Koden over vil dele opp dataene basert på kategorien. Det vil da hente neste navn i partisjonen ved å bruke blyfunksjonen.
Den resulterende utgangen er som vist:
Eksempel 2
Hvis det ikke er noen neste rad i en spesifikk kolonne (utenfor bundet), vil funksjonen sette verdien til null, som vist ovenfor.
For å angi en standardverdi for all tilgang utenfra, kan vi gjøre følgende:
Velg ID, full_name, bly (full_name, 1, 'n/a') over (Vi setter standardverdien til 'N/A'. Dette skal erstatte enhver ut-av-bundet verdi som vist i utgangen:
MERK: Å sette forskyvningen til 1 ligner på ikke å spesifisere noen verdi.
Eksempel 3
Anta at du vil få tilgang til de to neste radene fra den nåværende raden? Vi kan gjøre det ved å sette forskyvningsverdien til 2.
Et eksempel på spørringen er illustrert nedenfor:
Velg ID, full_name, bly (full_name, 2, 'n/a') over (Denne spørringen vil returnere de to neste radene i hver partisjon som vist nedenfor: