Funkcja numeru wiersza umożliwia przypisanie numeru sekwencyjnego do każdego wiersza w wyniku zapytania SQL.
Funkcja Row_Number () jest częścią funkcji okien SQL Server. Korzystając z tej funkcji, możesz przypisać progresywną liczbę całkowitą do każdego wiersza na każdym zestawie partycji wyniku. Każda liczba zaczyna się od 1 i resetuje rzędy w każdej partycji.
Składnia funkcji i wartość zwracana
Składnia funkcji jest taka jak pokazano:
NUMER WIERSZA ()Rozbijmy powyższą składnię.
Funkcja zwraca się, przypisując numer sekwencyjny do wierszy w każdej partycji. Jak wspomniano, funkcja zresetuje numer wiersza dla każdej nowej partycji.
SQL Server Row_number (): Przykłady
Użyjmy przykładu, aby lepiej zrozumieć, jak korzystać z funkcji row_number (). Zacznij od utworzenia przykładowej bazy danych z manekinami, jak pokazano w poniższych zapytaniach:
Utwórz bazę danych manekin_db;Powyższe zapytanie powinno zwrócić wynikowy zestaw, jak pokazano:
Przykład 1
Poniższa instrukcja SQL używa funkcji Row_Number, aby przypisać numer sekwencyjny do wierszy w uzyskanym zestawie:
Wybierz Row_number () Over (Powyższe zapytanie powinno zwrócić zestaw wyników, jak pokazano poniżej:
Przykład 2
Możemy użyć funkcji Row_number, aby zlokalizować pracownika o najwyższym wynagrodzeniu w określonym dziale.
Rozważ przykładowe zapytanie pokazane poniżej:
Wybierz nazwę FirstName, LastName, wynagrodzenie, dział, Row_number () Over (partycja według zamówienia działu według wynagrodzenia desc) jako row_num z manekinu_table;Powyższe zapytanie dzieli dane na partycje logiczne na podstawie działu. Następnie stosujemy funkcję row_number () do zamówienia przez wynagrodzenie w kolejności malejącej.
Przykład 3
Możesz użyć funkcji Row_number do paginacji. Ponieważ funkcja Row_Number przypisuje numer sekwencyjny do wszystkich wierszy, możemy go użyć do filtrowania dla określonej liczby wyników na stronę.
Weź poniższy przykład:
WYBIERZ SPOŚRÓDPowyższe zapytanie powinno zwrócić wyjście jako:
Wniosek
W tym przewodniku omówiliśmy, jak korzystać z funkcji SQL Server Row_number () do przypisania numerów sekwencyjnych do wierszy w zestawie wyników. Ponadto dokonaliśmy przeglądu składni funkcji i wartości zwracania. Mamy nadzieję, że ten artykuł jest pomocny. Sprawdź więcej artykułów z Linux, aby uzyskać wskazówki i samouczki.