首页/数据/SQL 速查/DENSE_RANK 排名(并列不跳号)
本包目录(311 条)
查询基础33 条连接与子查询40 条
聚合与窗口函数54 条
函数速查60 条变更与事务52 条性能与执行计划72 条

DENSE_RANK 排名(并列不跳号)

并列名次相同且后续不跳号(1,1,2,3…):适合“等级档位”类排名展示。

SQL 速查数据更新于 2026-10-12

示例

示例
SELECT name, score,
       DENSE_RANK() OVER (ORDER BY score DESC) AS drnk
FROM exams
ORDER BY drnk;
并列同分值同名次
编号不跳号:1,1,2,3…
对比RANK 跳号,ROW_NUMBER 不并列

易错点

  • 业务要求“第 N 名”时先确认并列怎么算,三种排名函数结果不同
  • 排序值精度(如分数字符串排序)会影响名次,确认列类型与排序规则

数据来源与参考

  • MySQL 8.0 Reference Manual · DENSE_RANK
  • PostgreSQL Documentation · Window Functions
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌