例子1:
select dense_rank() over(order by d.auditingdate) num, d.auditingdate, d.quesuser, d.quescontent, decode(d.questype, 1, '系统Bug', 2, '新增', 3, '修改', 4, '咨询', 5, '其它') type
from debugrecord d
where to_char(d.auditingdate,'yyyy-MM') = '2010-12'
例子2:
select rank() over(order by d.auditingdate) num, d.auditingdate, d.quesuser, d.quescontent, decode(d.questype, 1, '系统Bug', 2, '新增', 3, '修改', 4, '咨询', 5, '其它') type
from debugrecord d
where to_char(d.auditingdate,'yyyy-MM') = '2010-12'
例子1 遇到相同的值,序号不会跳值。
例子2 遇到相同的值,序号会跳值。
Dense Rank与Rank函数对比
本文通过两个具体示例对比了SQL中的dense_rank()与rank()函数的区别。dense_rank()在遇到相同值时序号不会跳过,而rank()则会跳过。这两种函数都用于为结果集中的行分配排名。
537

被折叠的 条评论
为什么被折叠?



