Funkcja NTILE
Część sekcji Podstawy ścieżki SQL w Coddy. Lekcja 67 z 72.
NTILE(n) numeruje wiersze, dzieląc je na n w przybliżeniu równych części. Jest często używana 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 umożliwia wysyłanie mniejszych części za jednym razem.
Na przykład:
| id | level |
| 1 | 4 |
| 2 | 4 |
| 3 | 5 |
| 4 | 6 |
| 5 | 7 |
| 6 | 7 |
SELECT id, level, NTILE(3) OVER (ORDER BY level) as pieces
from table1Zwróci to:
| id | level | pieces |
| 1 | 4 | 1 |
| 2 | 4 | 1 |
| 3 | 5 | 2 |
| 4 | 6 | 2 |
| 5 | 7 | 3 |
| 6 | 7 | 3 |
Mamy 3 części: poziom 4 w części 1, poziomy 5 i 6 w części 2 oraz poziom 7 w części 3.
Gdy liczba wierszy nie dzieli się równo przez n, NTILE rozdziela wiersze możliwie równomiernie, przy czym większe grupy pojawiają się jako pierwsze. Na przykład, jeśli masz 9 wierszy i NTILE(4), podział wyglądałby tak:
- Grupa 1: 3 wiersze
- Grupa 2: 2 wiersze
- Grupa 3: 2 wiersze
- Grupa 4: 2 wiersze
Dzięki temu żadna grupa nie różni się od pozostałych o więcej niż jeden wiersz, a dodatkowe wiersze są przydzielane najpierw grupom o niższych numerach.
Wyzwanie
ŁatwyDostępne tabele i kolumny:
creatures:creature_name,preference,has_legs(zawiera 'YES' lub 'NO')
W tym wyzwaniu mamy stworzenia, które chcą znaleźć drugą połówkę. Musimy pomóc im znaleźć odpowiednią parę.
Każde stworzenie ma preferencję reprezentowaną jako liczba. Jeśli liczby przypisane do obu stworzeń są wystarczająco zbliżone, mogą do siebie pasować.
Podziel stworzenia na 3 grupy na podstawie wartości ich preferencji, ale uwzględnij tylko stworzenia, które mają nogi (gdzie has_legs = 'YES'). Zwróć creature_name, preference i ich group_number (1, 2 lub 3). Uporządkuj wyniki rosnąco według preference.
Spróbuj swoich sił
Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.
Wszystkie lekcje w sekcji Podstawy
4Więcej słów kluczowych
Słowo kluczowe INSłowo kluczowe BETWEENSłowo kluczowe LIKESłowo kluczowe ASPowtórzenie – modele telefonów komórkowych2Instrukcje warunkowe
Podstawy instrukcji warunkowychSłowo kluczowe ANDSłowo kluczowe ORSłowo kluczowe NOTŁączenie wielu warunkówNawiasyWartości logiczne3Określony format zwracanych danych
Wartości nullSortowanie wyników — część 1Sortowanie wyników — część 2Powtórzenie — firma zajmująca się cyberbezpieczeństwemOgraniczanie liczby rekordówPowtórzenie — fabryka pojazdów6Wyzwania na początek
Powtórka – wybory parlamentarnePowtórka – zatrzymanie przestępcy przez policjęPowtórka – pojemnik na napój w barzePowtórka – inżynier: nowe kolumny9Wiele tabel
Podstawowe JOIN — część 1Podstawowe JOIN — część 2Powtórka — JOINSamozłączeniePowtórka — samozłączenieUNIONUprość zapytania — słowo kluczowe WITHPowtórka — zapytania WITHPowtórka — wykonawca z branży nieruchomości12Funkcje okna część 2
Funkcje RANK i DENSE_RANKPowtórzenie – RANK i DENSE_RANKFunkcja NTILEFunkcje agregująceKryterium ROWS i RANGEPoćwicz samodzielnie: Edytor online SQL