Podsumowanie: w tym samouczku dowiesz się, jak używać funkcji SQL Server RANK()
do obliczania rangi dla każdego wiersza w partycji zestawu wyników.
Wprowadzenie do funkcji SQL Server RANK ()
funkcjaRANK()
jest funkcją okna, która przypisuje rangę do każdego wiersza w partycji zestawu wyników.
wiersze w partycji, które mają te same wartości, otrzymają tę samą rangę. Ranga pierwszego rzędu w obrębie partycji wynosi 1., FunkcjaRANK()
dodaje liczbę powiązanych wierszy do rangi wiązanej, aby obliczyć rangę następnego wiersza, dlatego rangi mogą nie być kolejne.
poniżej przedstawiono składnię RANK()
function:
w tej składni:
- klauzula
PARTITION BY
dzieli wiersze partycji zestawu wyników, do których dana funkcja jest stosowana. - Po Drugie, klauzula
ORDER BY
określa logiczny porządek sortowania wierszy w każdej partycji, do której zastosowana jest funkcja.,
funkcjaRANK()
jest przydatna dla raportów top-N I bottom-N.,”>
Po Drugie, Wstaw kilka wierszy do sales.rank_demo
tabela:
Code language: SQL (Structured Query Language) (sql)
Po Trzecie, zapytanie danych z sales.rank_demo
tabela:
Po czwarte, użyj ROW_NUMBER()
aby przypisać szeregi do wierszy w zestawie wynikowym sales.rank_demo
tabela:
Code language: SQL (Structured Query Language) (sql)
oto wyjście:
jak pokazano wyraźnie na wyjściu, drugi i trzeci wiersz otrzymują tę samą rangę, ponieważ mają tę samą wartość B., Czwarty i piąty wiersz otrzymują rangę 4, Ponieważ funkcja RANK()
pomija rangę 3 i oba mają te same wartości.,iv id=”6657ab2abb”>
funkcja:
Używanie funkcji SQL Server RANK() nad zestawem wyników przykład
poniższy przykład używa RANK()
funkcja przypisywania rang do produktów według ich cen katalogowych:
oto zestaw wyników:
w tym przykładzie, ponieważ pominęliśmy iv id funkcjaRANK()
traktowała cały zestaw wyników jako pojedynczą partycję.,
RANK()
funkcja przypisuje rangę do każdego wiersza w zestawie wyników posortowanych według ceny katalogowej od wysokiej do niskiej.,
Korzystanie z funkcji SQL Server RANK() nad partycjami przykład
Ten przykład używa funkcji RANK()
aby przypisać rangę każdemu produktowi według ceny katalogowej w każdej marce i zwraca produkty o randze mniejszej lub równej trzem:
poniższy obrazek pokazuje wyjście:
w tym przykładzie:
- klauzula
PARTITION BY
dzieli produkty na partycje według identyfikatora marki., - Po Drugie, klauzula
ORDER BY
sortuje produkty w każdej partycji według cen katalogowych. - Po Trzecie, zewnętrzne zapytanie zwraca produkty, których wartości rank są mniejsze lub równe trzem.
funkcjaRANK()
jest stosowana do każdego wiersza w każdej partycji i ponownie uruchamiana podczas przekraczania granicy partycji.
w tym samouczku nauczyłeś się, jak używać funkcji SQL Server RANK()
, aby przypisać rangę do każdego wiersza w partycji zestawu wyników.