Podsumowanie: w tym samouczku dowiesz się, jak używać funkcji ROW_NUMBER() do przypisywania kolejnych numerów do każdego wiersza w zestawie wyników zapytania.
Opis funkcji SQL ROW_NUMBER ()
ROW_NUMBER() to funkcja okna, która przypisuje sekwencyjną liczbę całkowitą do każdy wiersz w zestawie wyników zapytania.
Poniższy rysunek ilustruje składnię funkcji ROW_NUMBER():
W tej składni
- Najpierw klauzula
PARTITION BY dzieli zestaw wyników zwróconych z FROM na partycje. Klauzula PARTITION BY jest opcjonalna. Jeśli go pominiesz, cały zestaw wyników jest traktowany jako jedna partycja.
- Następnie klauzula
ORDER BY sortuje wiersze w każdej partycji. Ponieważ ROW_NUMBER() jest funkcją zależną od kolejności, wymagana jest klauzula ORDER BY.
- Na koniec każdy wiersz w każdym partycji przypisywana jest kolejna liczba całkowita nazywana numerem wiersza. Numer wiersza jest resetowany po przekroczeniu granicy partycji.
Przykłady SQL ROW_NUMBER ()
Użyjemy employees i departments tabele z przykładowej bazy danych do demonstracji:
A) Przykład prostego SQL ROW_NUMBER ()
Poniższa instrukcja zawiera imię, nazwisko read more