sammanfattning: i den här handledningen lär du dig hur du använder SQLite NTILE()
– funktionen för att dela upp ett resultat i ett antal hinkar och tilldela ett hinknummer till varje rad.
introduktion till SQLite ntile () funktion
SQLite NTILE()
funktion är en fönsterfunktion som delar ett ordnat resultat i ett antal hinkar med ett angivet uttryck och tilldelar ett lämpligt hinknummer till varje rad.
följande visar syntaxen för funktionen NTILE()
:
i denna syntax:
uttryck
expression
kan vara ett bokstavligt positivt heltal eller något giltigt uttryck som löser sig till ett positivt heltal.
funktionen NTILE()
tilldelar siffror från 1 till värdet på expression
till varje rad. Antalet rader i hinkar kan variera med högst 1. Resten av antalet rader dividerat med hinkar tilldelas varje hink, börjar med hink 1.
till exempel, om du har 10 rader och 4 hinkar. Varje hink kommer att ha 2 rader. Resten av 10/4 är 2. Så den första hinken kommer att ha 2 + 1 = 3 rader, den andra hinken kommer också att ha 3 rader.
följande bild illustrerar tanken:
om värdet på uttrycket är större än antalet rader, fyller funktionen NTILE()
antalet hinkar lika med antalet rader. Därför kommer de återstående hinkarna att vara tomma.
om du till exempel har 10 rader och 11 hinkar tilldelas varje rad ett hinknummer från 1 till 10. Den 11: e hinken har ingen rad.
Observera att du inte kan använda en underfråga eller en fönsterfunktion i expression
.
PARTITION med
PARTITION BY
– satsen delar upp resultatuppsättningarna i partitioner som NTILE
– funktionen gäller för.
Beställ efter
ORDER BY
– satsen anger ordningen på rader i varje partition som NTILE()
gäller.
SQLite NTILE() funktionsexempel
vi kommer att använda spårtabellen från exempeldatabasen för att visa funktionen NTILE()
:
använda funktionen SQLite NTILE () med ORDER BY example
följande uttalande använder funktionen NTILE()
för att dela upp i 4 hinkar värdena i kolumnen Milliseconds
i tabellen tracks
från albumet 1.
kolumnen Milliseconds
har 10 värden i detta album, så de två extra värdena, som är resten av 10/4, distribueras till hinkar 1 och 2, som Därför ave på mer värde än hinkarna 3 eller 4.
här är utgången:
använda funktionen SQLite NTILE() med PARTITION BY-klausul exempel
följande uttalande använder funktionen NTILE()
för att dela spåren varje album i 3 hinkar med värdena i kolumnen Bytes
:
följande bild visar utgången:
i det här exemplet distribuerade PARTITION BY
– satsen raderna i partitioner eller album. ORDER BY
– satsen sorterade spåren i varje album efter deras storlekar i byte. Och funktionen NTILE()
tilldelade ett hinknummer till varje spår och återställ skopnumret för varje album.
i denna handledning har du lärt dig hur du använder funktionen SQLite NTILE()
för att dela upp ett resultatuppsättning i ett antal hinkar och tilldela ett hinknummer till varje rad.
- var denna handledning till hjälp ?
- Janej