Tuesday, October 26, 2021

Difference between row_number(), rank() and dense_rank() window functions in Oracle SQL

-- difference between row_number(), rank(), and dense_rank()
-- will only be visible when there were duplicates.
-- row_number gives consecutive ranking even with duplicate
-- rank and dense_rank give the same ranking but rank has a jump
-- while dense_rank doesn't have jump

select e.*,
row_number() over (order by salary desc) row_number,
rank() over (order by salary desc) rank,
dense_rank() over (order by salary desc) as dense_rank
from #Employee e




                                        row_number rank dense_rank
AD_PRES 24000 90 1 1 1
AD_VP 17000 100 90 2 2 2
AD_VP 17000 100 90 3 2 2
SA_MAN 14000 0.4 100 80 4 4 3











No comments:

Post a Comment

To generate a PDF using JavaScript in Oracle APEX from a collection

  To generate a PDF using JavaScript in Oracle APEX from a collection, you can follow these steps: 1. Create a button or link on your APEX p...