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. 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, dlatego ta funkcja pozwala wysyłać mniejsze części.
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 jest równo podzielna przez n, NTILE rozdziela wiersze możliwie równomiernie, przy czym większe grupy pojawiają się najpierw. 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
Zapewnia to, że liczba wierszy w żadnej grupie nie różni się od liczby wierszy w żadnej innej grupie o więcej niż jeden, a dodatkowe wiersze są najpierw przydzielane do grup 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źć odpowiedniego partnera.
Każde stworzenie ma preferencję wyrażoną 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 oraz 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