您好,我是小DAI,专注于数据库管理员相关的技术问答,请问有什么可以帮您?

DENSE_RANK

DENSE_RANK 会返回无间隔的秩值。

绑定行的值仍旧相等,但行的秩表示在排序列中具有相等值的行的集群位置,而不是各个行的位置。正如在 RANK 示例中,行排序列值是 10、20、20、20、30,第一行的秩仍旧是 1,而第二行的秩仍旧是 2,第三行和第四行的秩也是相同的。但是,最后一行的秩是 3 而不是 5。

DENSE_RANK 也是通过语法转换计算的。

DENSE_RANK() OVER ws

等效于:

COUNT ( DISTINCT ROW ( expr_1, . . ., expr_n ) )

OVER ( ws RANGE UNBOUNDED PRECEDING )

在上面的示例中, 代表窗口 w1 的排序规范列表中值表达式的列表。