WEB开发网
开发学院数据库MSSQL Server SQL 2005之四种排名函数 阅读

SQL 2005之四种排名函数

 2010-10-01 10:25:30 来源:WEB开发网   
核心提示: 在 SpeakerStats 表中有 11 位演讲者,将 11 除以 3 得到组大小 3 和余数 2,SQL 2005之四种排名函数(9),这意味着前面 2 个组将获得一个附加行(每个组中有 4 行),而第三个组则不会得到附加行(该组中有 3 行),第一个梯级表示具有最高得分的演讲者,第二个梯

在 SpeakerStats 表中有 11 位演讲者。将 11 除以 3 得到组大小 3 和余数 2,这意味着前面 2 个组将获得一个附加行(每个组中有 4 行),而第三个组则不会得到附加行(该组中有 3 行)。组号(tile 号)1 被分配给行 1 到 4,组号 2 被分配给行 5 到 8,组号 3 被分配给行 9 到 11。通过该信息可以生成直方图,并且将项目均匀分布到每个梯级。在我们的示例中,第一个梯级表示具有最高得分的演讲者,第二个梯级表示具有中等得分的演讲者,第三个梯级表示具有最低得分的演讲者。可以使用 CASE 表达式为组号提供说明性的有意义的备选含义:

SELECT speaker, track, score,
CASE NTILE(3) OVER(ORDER BY score DESC)
    WHEN 1 THEN 'High'
    WHEN 2 THEN 'Medium'
    WHEN 3 THEN 'Low'
END AS scorecategory
FROM SpeakerStats

以下为结果集:

speaker    track      score       scorecategory
---------- ---------- ----------- -------------
Kevin      DB               7           Medium
Mike       DB               8           Medium
Suzanne    DB             9           High
Jessica    Dev             9           High
Joe        Dev              6           Low
Robert     Dev             6           Low
Ron        Dev             9           High
Brian      Sys             7           Medium
Dan        Sys            3           Low
Kathy      Sys            8           High
Michele    Sys            8           Medium

上一页  4 5 6 7 8 9 

Tags:SQL 排名 函数

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接