SQLite NTILE

Podsumowanie: w tym samouczku dowiesz się, jak używać funkcji SQLite NTILE() do dzielenia zestawu wyników na liczbę bucketów i przypisywania numeru Bucketa do każdego wiersza.

Wprowadzenie do funkcji SQLite NTILE ()

SQLite NTILE() funkcja jest funkcją okna, która dzieli uporządkowany zestaw wyników na liczbę bucketów przez określone wyrażenie i przypisuje odpowiednią liczbę bucketów do każdego wiersza.

Poniżej przedstawiono składnię funkcji NTILE() :

w tej składni:

wyrażenie

expression może być literalną dodatnią liczbą całkowitą lub dowolnym prawidłowym wyrażeniem, które przekształca się w dodatnią liczbę całkowitą.

funkcja NTILE() przypisuje numery od 1 do wartości expression do każdego wiersza. Liczba wierszy w wiadrach może różnić się co najwyżej o 1. Pozostała część liczby wierszy podzielonych przez wiadra jest przydzielana do każdego wiadra, począwszy od wiadra 1.

na przykład, jeśli masz 10 wierszy i 4 wiadra. Każde wiadro będzie miało 2 rzędy. Reszta z 10/4 to 2. Tak więc pierwsze wiadro będzie miało 2 + 1 = 3 rzędy, drugie wiadro będzie również miało 3 rzędy.

poniższy obrazek ilustruje ideę:

jeżeli wartość wyrażenia jest większa niż liczba wierszy, wtedy funkcja NTILE() wypełni liczbę wiader równą liczbie wierszy. W związku z tym Pozostałe wiadra będą puste.

na przykład, jeśli masz 10 wierszy i 11 wiader, każdemu wierszowi zostanie przypisany numer wiadra od 1 do 10. Jedenaste wiadro nie będzie miało rzędu.

zauważ, że nie można używać podquery lub funkcji okna w expression.

partycja przez

klauzula PARTITION BY dzieli zbiory wyników na partycje, do których odnosi się funkcja NTILE.

ORDER BY

klauzula ORDER BY określa kolejność wierszy w każdej partycji, do której ma zastosowanie NTILE().

przykład funkcji SQLite NTILE ()

użyjemy tabeli utworów z przykładowej bazy danych, aby zademonstrować funkcję NTILE() :

użycie funkcji SQLite NTILE () z kolejnością według przykładu

następująca instrukcja używa funkcji NTILE() do podziału na 4 wiadra wartości w kolumnie Milliseconds tabeli tracks z albumu 1.

kolumna Milliseconds ma 10 wartości w tym albumie, więc dwie dodatkowe wartości, które są pozostałością 10/4, są rozdzielane na wiadra 1 i 2, które w związku z tym mają większą wartość niż wiadra 3 lub 4.

oto wynik:

użycie funkcji SQLite NTILE() z klauzulą PARTITION by przykład

poniższe polecenie używa funkcji NTILE() do dzielenia utworów z każdego albumu na 3 buckety według wartości w kolumnie Bytes :

poniższy obrazek pokazuje wyjście:

w tym przykładzie klauzula PARTITION BY rozdziela wiersze na partycje lub albumy. Klauzula ORDER BY posortowała utwory w każdym albumie według ich wielkości w bajtach. Funkcja NTILE() przypisała numer kubełka do każdego utworu i zresetowała numer kubełka dla każdego albumu.

w tym samouczku nauczyłeś się, jak używać funkcji SQLite NTILE() do dzielenia zestawu wyników na liczbę bucketów i przypisywania numeru Bucketa do każdego wiersza.

  • czy ten samouczek był pomocny ?
  • YesNo

You might also like

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.