Kryterium PARTITION BY
Część sekcji Podstawy ścieżki SQL w Coddy. Lekcja 59 z 72.
Inną opcją dla klauzuli OVER () jest PARTITION BY
Pozwala nam osobno numerować wiersze w każdej grupie
Na przykład:
| id | type |
| 132 | t1 |
| 52 | t2 |
| 92 | t1 |
| 154 | t3 |
| 198 | t1 |
SELECT id, type, ROW_NUMBER() OVER (PARTITION BY type ORDER BY id) as row_num
FROM table1Wygeneruje to kolumnę, która numeruje wiersze każdego typu osobno, w kolejności według id (wynik poniżej jest pogrupowany według typu):
| id | type | row_num |
| 92 | t1 | 1 |
| 132 | t1 | 2 |
| 198 | t1 | 3 |
| 52 | t2 | 1 |
| 154 | t3 | 1 |
id 92 ma row_num równe 1, ponieważ jest najmniejszym id w type t1.
Uwaga: ROW_NUMBER() wymaga klauzuli ORDER BY wewnątrz OVER(), aby określić sposób numerowania wierszy w każdej partycji.
Możemy nawet określić wiele kolumn w PARTITION BY:
ROW_NUMBER() OVER (PARTITION BY type, hue ORDER BY id)Wyzwanie
ŁatwyDostępne tabele i kolumny:
doors:id,publication_yeardoors_specs:id,country,color
Fabryka produkuje drzwi. Musi ponumerować drzwi dla każdej kombinacji country i color, które mają publication_year mniejszy niż 2000. Nazwij tę kolumnę row_num.
Drzwi powinny być numerowane w każdej grupie rosnąco według ich id. Drzwi bez specyfikacji należy pominąć. Posortuj wynik końcowy rosnąco według id.
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 logiczne8Statystyka
Wbudowane funkcje agregujące — część 1Wbudowane funkcje agregujące — część 2Grupowanie — część 1Grupowanie — część 2Podzapytania — część 1Podzapytania — część 2Powtórzenie — sklep z całkowitym zyskiemPowtórzenie — sklep ze skuteramiPowtórzenie — kawiarnia11Funkcje okna, część 1
Funkcja ROW_NUMBERKryterium ORDER BYKryterium PARTITION BYPARTITION i ORDERFunkcje LEAD i LAGPowtórka — LEAD i LAGPowtórka — obrazkiPowtórka — pudełka3Okreś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 kolumnyPoćwicz samodzielnie: Edytor online SQL