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 BYdzieli wiersze partycji zestawu wyników, do których dana funkcja jest stosowana. - Po Drugie, klauzula
ORDER BYokreś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 BYdzieli produkty na partycje według identyfikatora marki., - Po Drugie, klauzula
ORDER BYsortuje 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.