sql server 2000中的Dense_Rank()替代?(基于集合)

时间:2009-10-20 03:29:47

标签: sql sql-server tsql sql-server-2000 dense-rank

实际上,我的任务是根据薪资等级找到员工。

所以我使用了Dense_Rank()并得到了答案。

最初我被告知要在SQL SERVER 2005中解决。

后来他们改变了要求,并且说查询也应该在SQL SERVER 2000中运行。

我使用while循环解决了这个问题。

但是他们说他们将使用基于SET的方法接受解决方案。

怎么做?

提前致谢

2 个答案:

答案 0 :(得分:4)

请参阅此文Ranking In SQL Server 2000

作者讨论了如何实施Dense_Rank()

答案 1 :(得分:0)

您可以尝试这样的事情:

SELECT  * ,
    ( SELECT    COUNT(C1)
      FROM      T1 
      WHERE     P1.C1>= T.C
    ) AS Rnk
FROM    T
ORDER BY C DESC;