Funkcja ROW_NUMBER
Część sekcji Podstawy ścieżki SQL w Coddy. Lekcja 57 z 72.
Funkcje okna wykonują obliczenia na zbiorze wierszy tabeli powiązanych z bieżącym wierszem. W przeciwieństwie do zwykłych funkcji agregujących funkcje okna nie łączą wyników w jeden wiersz.
Są szczególnie przydatne, gdy musisz:
- Obliczać sumy narastające
- Tworzyć rankingi elementów w grupach
- Porównywać bieżące wiersze z poprzednimi/następnymi wierszami
- Analizować trendy w różnych okresach
Oto kilka przykładów zastosowań funkcji okienkowych w rzeczywistych sytuacjach:
- Analiza sprzedaży
- Oblicz skumulowaną sprzedaż do każdego roku (1995, 1997, 1999)
- Znajdź najlepiej sprzedające się produkty w każdym kwartale
- Statystyki sportowe
- Śledź liczbę medali olimpijskich w różnych latach
- Wskaż czołowych sportowców w każdym okresie zawodów (2000, 2004, 2008)
ROW_NUMBER() to jedna z najprostszych funkcji okna. Przypisuje unikalny kolejny numer do każdego wiersza w zestawie wyników. Oto jak jej używać:
SELECT column1, column2,
ROW_NUMBER() OVER ([PARTITION BY column] [ORDER BY column]) as row_num
FROM table_name;Klauzula OVER musi być używana z ROW_NUMBER() : ROW_NUMBER() OVER ()
Na przykład:
SELECT product_name, sale_date,
ROW_NUMBER() OVER () as row_num
FROM sales;Dodaje to kolumnę row_num, która zlicza wiersze od 1 do ich łącznej liczby.
Uwaga: klauzula OVER może zawierać instrukcje dotyczące sortowania i podziału na partycje, które kontrolują sposób nadawania numerów.
Wyzwanie
ŁatwyDostępne tabele i kolumny:
liquids:id,density
Pobierz wszystkie ciecze o gęstości większej niż 5.677.
Ponumeruj wynik (użyj funkcji ROW_NUMBER()) i nazwij tę kolumnę row_num
Spróbuj swoich sił
-- Ponumeruj każdy wiersz przefiltrowanego wyniku za pomocą funkcji okna
SELECT id, density, ____ as row_num
FROM liquids
WHERE density > ____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