Menu
Coddy logo textTech

Funkcja NTILE

Lekcja 10 z 13 w kursie SQL dla zaawansowanych w Coddy.

NTILE(n) numeruje wiersze, dzieląc je na n równych części. Często używa się go w celu zwiększenia wydajności — wysyłanie dużych ilości danych naraz może nie być dobrym pomysłem, więc ta funkcja pozwala wysyłać mniejsze części za każdym razem.

Na przykład:

idlevel
14
24
35
46
57
67
SELECT id, level, NTILE(3) OVER (ORDER BY level) as pieces
from table1

Zwróci to:

idlevelpieces
141
241
352
462
573
673

Otrzymaliśmy 3 części: poziom 4 w części 1, poziomy 5 i 6 w części 2 oraz poziom 7 w części 3.
Jeśli n w NTILE(n) nie dzieli się równo przez liczbę wierszy w tabeli: załóżmy, że tabela ma 9 wierszy, a n wynosi 4 — funkcja umieści tyle wierszy, ile się da, w ostatniej części.

challenge icon

Wyzwanie

Średni

W tym wyzwaniu mamy stworzenia, które chcą znaleźć drugą połówkę. Musimy pomóc im znaleźć odpowiedniego partnera.

Każde stworzenie ma preferencję reprezentowaną jako liczba. Jeśli liczby u obu stworzeń są wystarczająco zbliżone, mogą do siebie pasować.

Znajdź najlepsze pary. Utwórz nową kolumnę o nazwie couple_matcher, której wartości będą ponumerowane od jednego do liczby stworzeń podzielonej przez dwa, przy czym każda para powinna mieć ten sam numer. Pary mogą być tworzone tylko wtedy, gdy jedno stworzenie ma nogi, a drugie ich nie ma.

Posortuj wynik rosnąco według couple_matcher i creature_name.

Spróbuj swoich sił

Wszystkie lekcje w sekcji SQL dla zaawansowanych

Poćwicz samodzielnie: Kompilator Python online