Oracle分组后再组内排序编号 需求 每位员工有多条记录,需要将每位员工的记录按时间顺序排列并独立编号(每个人都从1开始重新编号) 解决方法 用 select row_number() over(partition by 学生编号 order by 某个日期 asc) 语法,请见以下样例代码: select row_number() over(partition by user_id order by create_date asc) rn, t.user_id, t.create_date from tableA t; 生成的rn列就是编号列,每位员工都从1开始编号。