实际上,我的任务是根据薪级找到员工。
所以我使用了 Dense_Rank() 并得到了答案。
最初我被告知要在 SQL SERVER 2005 中解决。
后来他们改变了要求,并说查询也应该在 SQL SERVER 2000 中运行。
我使用while循环解决了这个问题。
但他们说他们将接受使用基于 SET 的方法的解决方案。
怎么做?
提前致谢
实际上,我的任务是根据薪级找到员工。
所以我使用了 Dense_Rank() 并得到了答案。
最初我被告知要在 SQL SERVER 2005 中解决。
后来他们改变了要求,并说查询也应该在 SQL SERVER 2000 中运行。
我使用while循环解决了这个问题。
但他们说他们将接受使用基于 SET 的方法的解决方案。
怎么做?
提前致谢
请参阅这篇文章,在 SQL Server 2000 中排名
作者谈如何实现Dense_Rank()
你可以尝试这样的事情:
SELECT * ,
( SELECT COUNT(C1)
FROM T1
WHERE P1.C1>= T.C
) AS Rnk
FROM T
ORDER BY C DESC;