Funkcija SQL Server Last_Value().

Funkcija Sql Server Last Value



Ovaj vodič vas vodi u razumijevanju funkcije last_value() u SQL Serveru. Funkcija vam omogućuje da dohvatite posljednju vrijednost u uređenom skupu vrijednosti ili particiji.

Sintaksa funkcije

Ispod je sintaksa funkcije last_value.

POSLJEDNJA_VRIJEDNOST ( [ skalarni_izraz ] )  [ IGNORE NULLS | POŠTUJ NULTE ]
PREKO ( [ particija_po_klauzuli ] poredak_po_klauzi [ klauzula_raspona_redova ] )

Argumenti funkcije su:







  1. skalarni_izraz – ovo definira vrijednost koja se vraća. To može biti postojeći stupac, podupit ili izraz koji vraća jednu vrijednost.
  2. IGNORE NULLS – ovo omogućuje funkciji da zanemari null vrijednosti u danom skupu prilikom određivanja zadnje vrijednosti preko particije
  3. RESPECT NULL – ovo je suprotno klauzuli IGNORE NULL. Prisiljava funkciju da uzme u obzir NULL vrijednosti prilikom određivanja zadnje vrijednosti preko particije.
  4. PARTITION BY – dijeli retke zadanog rezultata u različite particije. Funkcija last_value tada se primjenjuje na te particije. Ako klauzula partition_by nedostaje, funkcija će tretirati skup rezultata kao jednu grupu.
  5. ORDER BY – ovo određuje kojim redoslijedom slijede redovi u određenoj particiji.
  6. Raspon_redova – ova klauzula ograničava retke u danoj particiji. Ovo funkcionira postavljanjem početne i završne vrijednosti.

Funkcija vraća tip navedenog skalarnog izraza.



Korištenje funkcije last_value preko skupa rezultata

Pretpostavimo da imamo tablicu kao što je prikazano:







Možemo primijeniti funkciju last_value() na skup rezultata, kao što je prikazano u primjeru upita u nastavku:

Odaberi
SERVER_NAME,
ADRESA POSLUŽITELJA ,
COMPRESSION_METHOD,
SIZE_ON_DISK,
zadnja_vrijednost(veličina_na_disku) preko(
poredak prema veličini_na_disku raspon između neograničenog prethodnog i neograničenog sljedećeg) najveći
iz
UPIS E;

Rezultirajuće vrijednosti:



Korištenje funkcije last_value preko particije

Također možemo primijeniti funkciju last_value() preko particije kao što je prikazano u primjeru u nastavku:

Odaberi
SERVER_NAME,
ADRESA POSLUŽITELJA ,
COMPRESSION_METHOD,
SIZE_ON_DISK,
last_value(size_on_disk) over(partition by COMPRESSION_METHOD
poredak prema veličini_na_disku raspon između neograničenog prethodnog i neograničenog sljedećeg) najveći
iz
UPIS E;

U ovom slučaju, podaci su grupirani u različite particije na temelju metode kompresije.

Dobivena vrijednost je kao što je prikazano:

U gornjoj tablici imamo pet particija, s maksimalnom vrijednošću u svakoj particiji prikazanom u najvećem stupcu.

Zaključak

U ovom ste vodiču naučili kako koristiti funkciju SQL Server last_value() za dobivanje zadnje vrijednosti u uređenom skupu ili particiji.