sql-server - Rank 和 Dense Rank 在什么情况下有用?

标签 sql-server

我知道使用 Rank 和 Dense Rank 函数的语法 但我找不到这在现实世界中的任何用途。

例如DENSE_RANK

ranking       userid
1               500
1               500
2               502
2               502

排名

Ranking UserID
    1   500
    1   500
    1   500
    1   500
    1   500
    1   500
    1   500
    8   502
    8   502
    8   502
    8   502
    8   502
    8   502
    8   502
    15  504

我无法理解 1,1 2,2 值在现实世界中有何用处。 另一方面,我确实非常清楚row_number over partition在现实世界中的用途;我只是找不到我能用这种信息做什么(密集和规则排名)

最佳答案

您可以使用它来查找每个组的前 n 行

这里有一个很好的解释:

http://asktom.oracle.com/pls/asktom/f?p=100:11:0::::P11_QUESTION_ID:2920665938600

关于sql-server - Rank 和 Dense Rank 在什么情况下有用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6831099/

相关文章:

c# - 应用程序中的 SQL 超时,但不在 SQL Server Mgmt Studio 中

mysql - 如何在 Sql-server 中对按日期分组的时间求和

SQL Server - 定义中的 View 名称与实际 View 名称不同

sql-server - 在 SQL Server 中从每月的星期几和星期几创建日期

sql - 表名搜索

按数据分组但带有 order by 子句的 SQL 查询

sql - 存储过程比 SSMS 中的查询慢

sql-server - 在 tsql 中,带有 Select 语句的插入在并发性方面安全吗?

sql - 连接 Int 列

sql-server - 需要T-SQL更新语句动态分配一个记录号