SQL Server Last_Value() funksjon

Sql Server Last Value Funksjon



Denne opplæringen tar sikte på å veilede deg i å forstå last_value()-funksjonen i SQL Server. Funksjonen lar deg hente den siste verdien i et ordnet sett med verdier eller en partisjon.

Funksjonssyntaks

Nedenfor er last_value-funksjonens syntaks.

LAST_VALUE ( [ scalar_expression ] )  [ IGNORER NULLER | RESPEKT NULLER ]
OVER ( [partisjon_etter_klausul] rekkefølge_etter_klausul [rader_områdeklausul])

Funksjonsargumentene er:







  1. scalar_expression – dette definerer verdien som skal returneres. Dette kan være en eksisterende kolonne, en underspørring eller et uttrykk som returnerer til en enkelt verdi.
  2. IGNORE NULLS - dette lar funksjonen ignorere nullverdier i det gitte settet når den bestemmer den siste verdien over en partisjon
  3. RESPECT NULL – dette er det motsatte av IGNORE NULL-klausulen. Den tvinger funksjonen til å vurdere NULL-verdier når den bestemmer den siste verdien over en partisjon.
  4. PARTITION BY – deler radene til et gitt resultat i ulike partisjoner. Last_value-funksjonen blir deretter brukt på disse partisjonene. Hvis partition_by-leddet mangler, vil funksjonen behandle resultatsettet som en enkelt gruppe.
  5. ORDER BY – dette bestemmer i hvilken rekkefølge radene i en gitt partisjon følger.
  6. Rows_range – denne klausulen begrenser radene i en gitt partisjon. Dette fungerer ved å angi en start- og sluttverdi.

Funksjonen returnerer typen til spesifisert skalaruttrykk.



Bruke last_value-funksjonen over et resultatsett

Anta at vi har en tabell som vist:







Vi kan bruke last_value()-funksjonen over et resultatsett, som vist i eksempelspørringen nedenfor:

å velge
SERVER NAVN,
SERVER ADRESSE ,
COMPRESSION_METHOD,
SIZE_ON_DISK,
siste_verdi(størrelse_på_disk) over(
rekkefølge etter størrelse_på_disk-området mellom ubegrenset foran og ubegrenset følgende) størst
fra
INNLEGG E;

Resulterende verdier:



Bruke last_value-funksjonen over en partisjon

Vi kan også bruke last_value()-funksjonen over partisjonen som vist i eksemplet nedenfor:

å velge
SERVER NAVN,
SERVER ADRESSE ,
COMPRESSION_METHOD,
SIZE_ON_DISK,
siste_verdi(størrelse_på_disk) over(partisjon av COMPRESSION_METHOD
rekkefølge etter størrelse_på_disk-området mellom ubegrenset foran og ubegrenset følgende) størst
fra
INNLEGG E;

I dette tilfellet blir dataene gruppert i forskjellige partisjoner basert på komprimeringsmetoden.

Den resulterende verdien er som vist:

I tabellen ovenfor har vi fem partisjoner, med maksverdien i hver partisjon vist i den største kolonnen.

Konklusjon

I denne opplæringen lærte du hvordan du bruker SQL Server last_value()-funksjonen for å få den siste verdien i et ordnet sett eller partisjon.