SQL ranking

SQL ranking
Ranking w SQL umożliwia obliczenie rangi każdego rekordu w ramach partycji w zestawie wyników.

Ranga () zwróci indeks oparty na 1 dla każdego rekordu w uporządkowanej partycji w standardowym SQL. Pamiętaj, że funkcja przypisuje tę samą wartość rang do partycji o podobnych wartościach.

Liczba poprzednich wartości rang zwiększa każdą wynikającą z tego wartość rangą. Jeśli chcesz zwiększyć wartość rang do 1, użyj funkcji gense_rank ().

Składnia funkcji rank ()

Składnia funkcji rang jest jak pokazano poniżej:

Ranga () ponad (
[Partycja według wyrażenia,]
Zamów według wyrażenia (ASC | dec));
);

Aby zilustrować, jak korzystać z tej funkcji, rozważ poniższy przykład:

Utwórz użytkowników tabeli (
ID szeregowy klucz podstawowy,
First_name varchar (100),
Last_name varchar (100),
Stan Varchar (25),
Aktywny bool
);
Wstaw do użytkowników (First_name, Last_name, State, Active) Wartości (
„Mary”, „Smith”, „New York”, prawda);
Wstaw do użytkowników (First_name, Last_name, State, Active) Wartości (
„Linda”, „Williams”, „Colorado”, false);
Wstaw do użytkowników (First_name, Last_name, State, Active) Wartości (
„Taylor”, „Moore”, „Utah”, prawda);
Wstaw do użytkowników (First_name, Last_name, State, Active) Wartości (
„Susan”, „Wilson”, „Waszyngton”, prawda);
Wstaw do użytkowników (First_name, Last_name, State, Active) Wartości (
„Mary”, „Smith”, „New York”, prawda);
Wstaw do użytkowników (First_name, Last_name, State, Active) Wartości (
„Taylor”, „Moore”, „Utah”, prawda);

Powyższe zapytania tworzą i wstaw przykładowe dane do tabeli.

Aby przypisać rangę do rekordów w zestawie wyników, możemy użyć funkcji rank (), jak pokazano poniżej.

Wybierz identyfikator, pierwsza nazwa_nazowa, nazwa_nastum, stan, aktywny,
rank () ponad (partycja według aktywnej kolejności według identyfikatora)
od użytkowników;

W powyższym zapytaniu dzielimy dane według aktywnej kolumny. Kolumna zawiera wartości logiczne. Następnie umieszczamy na każdym elemencie w partycjach.

Powstały zestaw jest jak pokazany:

Zauważ, że wynik zawiera dwie partycje, jeden zawierający fałszywe wartości, a drugie zawierające wartości prawdziwe.

W partycji „Fałsz” funkcja przypisuje wartości rang. Ten sam przypadek „prawdziwej” partycji. Zauważ, że funkcja rozpoczyna wartość rang od 1 w nowej partycji.

Zamknięcie

Ten samouczek pokazał, jak wykonywać ranking wierszy poprzez partycjonowanie za pomocą funkcji rank (). Sprawdź dokumentację silnika bazy danych, aby dowiedzieć się więcej.

Dziękuje za przeczytanie!!