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 bestilt sett med verdier eller en partisjon.
Funksjonssyntaks
Nedenfor er syntaks for Last_Value -funksjonen.
Last_value ([scalar_expression]) [Ignorer nulls | Respekt NULLS]
Over ([partition_by_clause] order_by_clause [rows_range_clause])
Funksjonsargumentene er:
- Scalar_expression - Dette definerer verdien som skal returneres. Dette kan være en eksisterende kolonne, et underspørs eller et uttrykk som går tilbake til en enkelt verdi.
- Ignorer NULLS - Dette gjør at funksjonen kan ignorere nullverdier i det gitte settet når du bestemmer den siste verdien over en partisjon
- Respekt null - dette er det motsatte av ignorering av null -klausulen. Det tvinger funksjonen til å vurdere nullverdier når du bestemmer den siste verdien over en partisjon.
- Partisjon av - skiller radene med et gitt resultat i forskjellige partisjoner. Last_Value -funksjonen blir deretter brukt på disse partisjonene. Hvis Partition_by -klausulen mangler, vil funksjonen behandle resultatsettet som en enkelt gruppe.
- Bestilling av - Dette bestemmer i hvilken rekkefølge radene i en gitt partisjon Følg.
- Rows_range - Denne klausulen begrenser radene i en gitt partisjon. Dette fungerer ved å sette en start- og sluttverdi.
Funksjonen returnerer typen av den spesifiserte scalar_expression.
Bruke Last_Value -funksjonen over et resultatsett
Anta at vi har et bord som vist:
Vi kan bruke Last_Value () -funksjonen over et resultatsett, som vist i eksemplet på spørringen nedenfor:
plukke ut
SERVER NAVN,
SERVER ADRESSE ,
Komprimering_metod,
Størrelse_on_disk,
last_value (size_on_disk) over (
Bestill etter størrelse_on_diskområde mellom ubegrenset foregående og ubegrenset følgende) største
fra
Oppføringer E;
Resulterende verdier:
Bruke Last_Value -funksjonen over en partisjon
Vi kan også bruke Last_Value () -funksjonen over partisjon som vist i eksemplet nedenfor:
plukke ut
SERVER NAVN,
SERVER ADRESSE ,
Komprimering_metod,
Størrelse_on_disk,
last_value (size_on_disk) over (partisjon av compression_method
Bestill etter størrelse_on_diskområde mellom ubegrenset foregående og ubegrenset følgende) største
fra
Oppføringer E;
I dette tilfellet er dataene gruppert i forskjellige partisjoner basert på kompresjonsmetoden.
Den resulterende verdien er som vist:
I tabellen ovenfor har vi fem partisjoner, med den maksimale verdien i hver partisjon som vises 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 bestilt sett eller partisjon.