RANK() - Tworzy ranking niegęsty
select
kolumna1,
kolumna2,
kolumna3,
RANK() OVER (order by kolumna3 desc) ranking
from tabela1
DENSE_RANK() - Tworzy ranking gęsty
select
kolumna1,
kolumna2,
kolumna3,
DENSE_RANK() OVER (order by kolumna3 desc) ranking_gesty
from tabela1
PARTITION - Partycjonowania pozwala na budowanie osobnych rankingów dla danej wartości kolumny. Komendy tej mozna używać zawsze gdy mamy komendę OVER.
select
kolumna1,
kolumna2,
kolumna3,
kolumna4,
dense_rank() over (PARTITION by kolumna3 order by kolumna4 desc) ranking_gesty
from tabela1
RANK(aaa) - Badanie hipotetycznej pozycji wartości 'aaa' w rankingu.
select
rank(4000) within group (order by kol1 DESC) hip
from tab1