在SQL中排名与输出Row_Number相同

时间:2019-03-11 13:56:25

标签: sql sql-server

我需要使Rank和Dense rank的输出与row_Number相同

select top(100) CVRNummer,VirksomhedNavn 
,row_number() over (order by CVRNummer )  as rknr


, rank() over (order by CVRNummer) as Rankrow

/*
,DENSE_RANK() over (partition by Order by CVRNummer,VirksomhedNavn) as DrankRow
*/



from VirksomhedEllerPerson where CVRNummer is not null
order by CVRNummer,VirksomhedNavn

2 个答案:

答案 0 :(得分:1)

然后只需在order by上添加唯一键作为最终键:

rank() over (order by CVRNummber, VirksomhedNavn) 

可能会工作。通常,您可以执行以下操作:

rank() over (order by CVRNummber, <primary key>) 

(尽管任何唯一键都可以使用。)

答案 1 :(得分:0)

要解决此问题,您需要添加Rank() OVER ( ORDER BY cvrnummer,virksomhednavn,newid()) AS rankrow

这将根据要求对列表进行排序