sql server 2000中的Dense_Rank()替代方案?(基于设置)

发布于 2024-08-07 19:29:37 字数 243 浏览 5 评论 0原文

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

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

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

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

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

但他们表示他们将接受使用 SET BASED 方法的解决方案。

怎么做呢?

提前致谢

Actually, I have the task of finding the employees based on the salary rank.

So I used Dense_Rank() and got the answer.

Initially I was told to solve in SQL SERVER 2005.

Later on they changed the requirement and is saying that the query should run in SQL SERVER 2000 also.

I solved that using a while loop.

But they are saying that they will accept the solution using SET BASED approach.

How to do that?

Thanks in advance

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

你怎么这么可爱啊 2024-08-14 19:29:37

请参阅这篇文章,SQL Server 2000 中的排名

作者讲了如何实现Dense_Rank()

Refer to this article, Ranking In SQL Server 2000

The author talks about how to implement Dense_Rank()

落叶缤纷 2024-08-14 19:29:37

你可以尝试这样的事情:

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

You may try something like this:

SELECT  * ,
    ( SELECT    COUNT(C1)
      FROM      T1 
      WHERE     P1.C1>= T.C
    ) AS Rnk
FROM    T
ORDER BY C DESC;
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文