Shrnutí: v tomto tutoriálu, se dozvíte, jak používat SQLite NTILE()
funkce rozdělit výsledek nastavit do několika kbelíky a přiřadit kbelík číslo na každém řádku.
Úvod do SQLite NTILE() funkce
SQLite NTILE()
funkce je okno funkce, která rozděluje uspořádaný výsledek nastavit do několika kbelíky na zadaný výraz a přiřadí vhodné kbelík číslo na každém řádku.
následující text ukazuje syntaxi funkce NTILE()
:
v této syntaxi:
výraz
expression
může být doslovný kladné celé číslo nebo jakýkoli platný výraz, který se překládá na kladné celé číslo.
funkce NTILE()
přiřadí každému řádku čísla od 1 do hodnoty expression
. Počet řádků v kbelících se může lišit maximálně o 1. Zbytek počtu řádků dělených kbelíky je přidělen každému kbelíku, počínaje kbelíkem 1.
například pokud máte 10 řádků a 4 kbelíky. Každý kbelík bude mít 2 řádky. Zbytek 10/4 je 2. Takže první kbelík bude mít 2 + 1 = 3 řádky, druhý kbelík bude mít také 3 řádky.
následující obrázek ilustruje nápad:
Pokud hodnota výrazu je větší než počet řádků, pak NTILE()
funkce naplní počet segmentů se rovná počtu řádků. Zbývající kbelíky budou tedy prázdné.
pokud máte například 10 řádků a 11 kbelíků, každému řádku bude přiřazeno číslo kbelíku od 1 do 10. 11 kbelík nebude mít žádný řádek.
Všimněte si, že v expression
nelze použít poddotaz nebo funkci okna.
PARTITION BY
klauzule PARTITION BY
rozděluje množiny výsledků na oddíly, na které se vztahuje funkce NTILE
.
pořadí podle
klauzule ORDER BY
určuje pořadí řádků v každém oddílu, na který se vztahuje NTILE()
.
SQLite NTILE () příklad funkce
použijeme tabulku stop z ukázkové databáze k prokázání funkce NTILE()
:
Pomocí SQLite NTILE() funkce s CÍLEM příkladem
následující prohlášení používá NTILE()
funkce rozdělit do 4 kbelíky hodnoty v Milliseconds
sloupec tracks
tabulka z alba 1.
sloupec Milliseconds
má v tomto albu 10 hodnot, takže dvě další hodnoty, což je zbytek 10/4, jsou rozděleny do kbelíků 1 a 2, které tedy mají větší hodnotu než kbelíky 3 nebo 4.
zde je výstup:
Pomocí SQLite NTILE() funkce s PARTITION BY klauzule příklad
následující prohlášení používá NTILE()
funkce rozdělit skladby každého alba do 3 kbelíky podle hodnot v Bytes
sloupec:
následující obrázek ukazuje výstup:
V tomto příkladu, PARTITION BY
klauzule distribuovány řádky, do příčky nebo alba. Klauzule ORDER BY
třídila skladby v každém albu podle jejich velikostí v bajtech. A funkce NTILE()
přiřadila každé skladbě číslo kbelíku a resetovala číslo kbelíku pro každé album.
v tomto tutoriálu jste se naučili, jak pomocí funkce SQLite NTILE()
rozdělit sadu výsledků na několik kbelíků a každému řádku přiřadit číslo kbelíku.
- byl tento návod užitečný ?
- YesNo