Sintaksa funkcije
Spodaj je sintaksa funkcije last_value.
ZADNJA_VREDNOST ( [ skalarni_izraz ] ) [ IGNORE NULLS | RESPECT NULLS ]NAD ([particija_po_klavzuli] order_by_clause [vrstica_razpon_klavzule])
Argumenti funkcije so:
- skalarni_izraz – to definira vrednost, ki bo vrnjena. To je lahko obstoječi stolpec, podpoizvedba ali izraz, ki vrne eno samo vrednost.
- IGNORE NULLS – to omogoča funkciji, da prezre ničelne vrednosti v danem nizu pri določanju zadnje vrednosti na particiji
- RESPECT NULL – to je nasprotje klavzule IGNORE NULL. Funkcijo prisili, da pri določanju zadnje vrednosti na particiji upošteva vrednosti NULL.
- PARTITION BY – razdeli vrstice danega rezultata na različne particije. Funkcija last_value se nato uporabi za te particije. Če klavzula partition_by manjka, bo funkcija nabor rezultatov obravnavala kot eno skupino.
- ORDER BY – to določa, v kakšnem vrstnem redu si sledijo vrstice v dani particiji.
- Rows_range – ta člen omejuje vrstice v dani particiji. To deluje z nastavitvijo začetne in končne vrednosti.
Funkcija vrne vrsto podanega skalarnega_izraza.
Uporaba funkcije last_value nad naborom rezultatov
Recimo, da imamo tabelo, kot je prikazano:
Funkcijo last_value() lahko uporabimo nad nizom rezultatov, kot je prikazano v spodnjem primeru poizvedbe:
izberiteSERVER_NAME,
NASLOV STREŽNIKA ,
COMPRESSION_METHOD,
SIZE_ON_DISK,
last_value(size_on_disk) over(
vrstni red po obsegu size_on_disk med neomejenim predhodnim in neomejenim naslednjim) največji
od
VPISI E;
Dobljene vrednosti:
Uporaba funkcije last_value nad particijo
Funkcijo last_value() lahko uporabimo tudi nad particijo, kot je prikazano v spodnjem primeru:
izberiteSERVER_NAME,
NASLOV STREŽNIKA ,
COMPRESSION_METHOD,
SIZE_ON_DISK,
last_value(size_on_disk) over(partition by COMPRESSION_METHOD
vrstni red po obsegu size_on_disk med neomejenim predhodnim in neomejenim naslednjim) največji
od
VPISI E;
V tem primeru so podatki razvrščeni v različne particije glede na metodo stiskanja.
Dobljena vrednost je prikazana:
V zgornji tabeli imamo pet particij, pri čemer je največja vrednost v vsaki particiji prikazana v največjem stolpcu.
Zaključek
V tej vadnici ste se naučili, kako uporabiti funkcijo SQL Server last_value() za pridobitev zadnje vrednosti v urejenem nizu ali particiji.