实际上,我的任务是根据薪资等级找到员工。
所以我使用了Dense_Rank()并得到了答案。
最初我被告知要在SQL SERVER 2005中解决。
后来他们改变了要求,并且说查询也应该在SQL SERVER 2000中运行。
我使用while循环解决了这个问题。
但是他们说他们将使用基于SET的方法接受解决方案。
怎么做?
提前致谢
答案 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;