Podsumowanie: w tym samouczku dowiesz się, jak używać funkcji OracleRANK() do obliczania rangi wierszy w zbiorze wierszy.
Wprowadzenie do funkcji Oracle RANK ()
funkcjaRANK() jest funkcją analityczną, która oblicza rangę wartości w zbiorze wartości.
funkcjaRANK() zwraca tę samą rangę dla wierszy o tych samych wartościach. Dodaje liczbę powiązanych wierszy do powiązanej rangi, aby obliczyć następną rangę., W związku z tym stopnie mogą nie być kolejnymi numerami.
funkcjaRANK() jest przydatna dla zapytań top-N I bottom-N.
poniżej przedstawiono składnięRANK() funkcja:
order_by_clause jest wymagana. Określa kolejność wierszy w każdej partycji, do której ma zastosowanie funkcja RANK().
klauzula partycji zapytań, jeśli jest dostępna, dzieli wiersze na partycje, do których ma zastosowanie funkcja RANK()., W przypadku pominięcia przyczyny partycji zapytania, cały zestaw wyników jest traktowany jako pojedyncza partycja.,tabela o nazwie rank_demo składająca się z jednej kolumny:
Po Drugie, Wstaw kilka wierszy do rank_demo tabela:
Po Trzecie, zapytanie z rank_demo tabela:
Po czwarte, użyj funkcji RANK(), aby obliczyć rangę dla każdego wiersza rank_demo tabela:
poniżej przedstawiono wynik:
pierwsze dwa wiersze otrzymały tę samą rangę 1., Trzeci rząd otrzymał rangę 3, ponieważ drugi rząd otrzymał już rangę 1. Kolejne trzy rzędy otrzymały tę samą rangę 4, a ostatni rząd otrzymał rangę 7.
przykłady funkcji Oracle RANK ()
do demonstracji użyjemy tabeliproducts z przykładowej bazy danych.,
funkcja Oracle RANK() prosty przykład
poniższe polecenie oblicza rangę każdego produktu według jego ceny katalogowej:
oto częściowe wyjście:
aby uzyskać 10 najdroższych produktów, użyj następującej instrukcji:
w tym przykładzie wyrażenie common table zwróciło produkty z ich rang i zapytaniem zewnętrznym tylko pierwsze 10 najdroższych produktów.,
oto wyjście:
Korzystanie z funkcji Oracle RANK() z partycją według przykładu
poniższy przykład zwraca 3 najdroższe produkty dla każdej kategorii:
w ten przykład:
- najpierw klauzula
PARTITION BYpodzieliła produkty na wiele partycji według kategorii. - następnie klauzula
ORDER BYposortowała wiersze w każdej partycji według ceny katalogowej w porządku malejącym., - na koniec funkcja
RANK()obliczała rangę dla każdego wiersza w każdej partycji. Ponownie zainicjalizował rangę dla każdej partycji.
poniżej przedstawiono wynik:
w tym samouczku nauczyłeś się, jak obliczyć rangę wartości w zestawie wartości za pomocą Oracle RANK() function.
- czy ten tutorial był pomocny?
- YesNo
Leave a Reply