DenseRank() i Rank() ustawiają wiersze nadając tę samą liczbę porządkową dla pozycji exe-quo / dubli.
Rank() zostawia luki w numeracji, DenseRank() nie gubi tej kolejności.
select
p.FirstName,
p.PersonType,
p.LastName,
pp.ModifiedDate,
rank() over(order by pp.ModifiedDate desc) as Rank_Nr,
dense_rank() over(order by pp.ModifiedDate desc) as DenseRank_Nr
from
[Person].[Person] as p
join [Person].[PersonPhone] as pp
on p.BusinessEntityID = pp.BusinessEntityID
where
p.LastName like 'Gr%' and
p.PersonType in ('IN')
DenseRank vs Rank |