Sammendrag :i denne opplæringen, vil du lære hvordan du bruker SQLite NTILE()
funksjon for å dele et resultat sett i en rekke bøtter og tilordne en bøtte nummer til hver rad.
Introduksjon Til SQLITE NTILE () funksjon
SQLite NTILE()
funksjon er en vindusfunksjon som deler et bestilt resultatsett i et antall skuffer med et angitt uttrykk og tilordner et passende skuffenummer til hver rad.
følgende viser syntaksen til NTILE()
– funksjonen:
I denne syntaksen:
uttrykk
expression
kan være et bokstavelig positivt heltall eller et gyldig uttrykk som løses til et positivt heltall.
funksjonen NTILE()
tilordne tall fra 1 til verdien av expression
til hver rad. Antall rader i bøtter kan variere med maksimalt 1. Resten av antall rader dividert med bøtter er allokert til hver bøtte, begynner med bøtte 1.
for eksempel hvis du har 10 rader og 4 bøtter. Hver bøtte vil ha 2 rader. Resten av 10/4 er 2. Så den første bøtte vil ha 2 + 1 = 3 rader, den andre bøtte vil også ha 3 rader.
følgende bilde illustrerer ideen:
Hvis verdien av uttrykket er større enn antall rader, vil funksjonen NTILE()
fylle antall skuffer som er lik antall rader. Derfor vil de resterende skuffene være tomme.
hvis du for eksempel har 10 rader og 11 skuffer, vil hver rad bli tildelt et bøttenummer fra 1 til 10. Den 11. bøtte vil ikke ha noen rad.
Legg Merke til at du ikke kan bruke en delspørring eller en vindu-funksjon i expression
.
PARTISJON MED
PARTITION BY
– klausulen deler resultatsettene i partisjoner som NTILE
– funksjonen gjelder for.
ORDER BY
ORDER BY
– klausulen angir rekkefølgen på rader i hver partisjon som NTILE()
gjelder.
sqlite NTILE() funksjon eksempel
Vi vil bruke sportabellen fra eksempeldatabasen for å demonstrere NTILE()
– funksjonen:
Bruke sqlite NTILE () – funksjonen MED ORDER BY example
følgende setning bruker NTILE()
– funksjonen til å dele inn i 4 bøtter verdiene i kolonnen Milliseconds
i tabellen tracks
fra albumet 1.
kolonnen Milliseconds
har 10 verdier i dette albumet, så de to ekstra verdiene, som er resten av 10/4, distribueres til skuffer 1 og 2, som derfor ave på mer verdi enn skuffene 3 eller 4.
her er utgangen:
Bruke sqlite NTILE () – funksjonen MED PARTITION BY-setningseksempel
følgende setning bruker funksjonen NTILE()
til å dele sporene hvert album i 3 bøtter med verdiene i kolonnen Bytes
:
følgende bilde viser utgangen:
i dette eksemplet fordelte PARTITION BY
– setningen radene i partisjoner eller album. Klausulen ORDER BY
sorterte sporene i hvert album etter deres størrelser i byte. Og NTILE()
– funksjonen tildelte et bøttenummer til hvert spor og tilbakestilte bøttenummeret for hvert album.
i denne opplæringen har du lært Hvordan Du bruker sqlite NTILE()
– funksjonen til å dele et resultatsett i en rekke skuffer og tilordne et bøttenummer til hver rad.
- Var denne opplæringen nyttig ?
- YesNo