34,874
社区成员
发帖
与我相关
我的任务
分享
select *,
计数=right('00'+ltrim(row_number() over(partition by 姓名,课程 order by getdate())),2)
from tb
/**
姓名 课程 计数
---------- ---------- ----
李四 语文 01
李四 语文 02
李四 语文 03
张三 数学 01
张三 数学 02
张三 语文 01
(6 行受影响)
**/
select *,计数=right(ltrim(100+row_number() over(partition by 姓名,课程 order by getdate())),2) from tb
order by 姓名 desc,课程 desc
姓名 课程 计数
---------- ---------- ----
张三 语文 01
张三 数学 01
张三 数学 02
李四 语文 01
李四 语文 02
李四 语文 03
(6 行受影响)select *,计数=row_number() over(partition by 姓名,课程 order by getdate()) from tb
姓名 课程 计数
---------- ---------- --------------------
李四 语文 1
李四 语文 2
李四 语文 3
张三 数学 1
张三 数学 2
张三 语文 1
(6 行受影响)