【问题标题】:Dense_Rank() alternative in sql server 2000?(Set based)sql server 2000 中的 Dense_Rank() 替代方案?(基于集合)
【发布时间】:2009-10-20 03:29:46
【问题描述】:

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

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

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

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

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

但他们说他们会接受使用 SET BASED 方法的解决方案。

怎么做?

提前致谢

【问题讨论】:

  • 您能否提供一些详细信息 - EMPLOYEES 表的列(包括数据类型)是什么?您使用 WHILE 循环的解决方案是什么?

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


【解决方案1】:

参考这篇文章,Ranking In SQL Server 2000

作者谈如何实现Dense_Rank()

【讨论】:

    【解决方案2】:

    你可以试试这样的:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-12-29
      • 2020-05-15
      • 1970-01-01
      • 2022-01-07
      • 1970-01-01
      相关资源
      最近更新 更多