如何分组使用IDENTITY添加序号?
例子:
柜员 日期 时间 账号 金额
张三 2012-1-1 08:35 60135 50.00
张三 2012-1-1 08:36 60125 100.00
张三 2012-1-1 08:37 60139 102.00
李四 2012-1-1 08:35 60235 51.00
李四 2012-1-1 08:35 60335 52.00
张三 2012-1-2 09:35 60335 57.00
张三 2012-1-2 09:45 60335 58.00
现须对以上记录,按柜员、日期、时间添加顺序号
生成结果如下:
顺序号 柜员 日期 时间 账号 金额
1 张三 2012-1-1 08:35 60135 50.00
2 张三 2012-1-1 08:36 60125 100.00
3 张三 2012-1-1 08:37 60139 102.00
1 李四 2012-1-1 08:35 60235 51.00
2 李四 2012-1-1 08:35 60335 52.00
1 张三 2012-1-2 09:35 60335 57.00
2 张三 2012-1-2 09:45 60335 58.00
请问该如何实现呢?
[解决办法]
if object_id('[TB]') is not null drop table [TB]gocreate table [TB] (柜员 nvarchar(4),日期 datetime,时间 time,账号 int,金额 decimal(5,2))insert into [TB]select '张三','2012-1-1', '08:35',60135,50.00 union allselect '张三','2012-1-1', '08:36',60125,100.00 union allselect '张三','2012-1-1', '08:37',60139,102.00 union allselect '李四','2012-1-1', '08:35',60235,51.00 union allselect '李四','2012-1-1', '08:35',60335,52.00 union allselect '张三','2012-1-2', '09:35',60335,57.00 union allselect '张三','2012-1-2', '09:45',60335,58.00select * from [TB]select [No.]=row_number() over (partition by 柜员,日期 order by 日期,柜员),* from TB/*No. 柜员 日期 时间 账号 金额-------------------- ---- ----------------------- ---------------- ----------- ---------------------------------------1 李四 2012-01-01 00:00:00.000 08:35:00.0000000 60235 51.002 李四 2012-01-01 00:00:00.000 08:35:00.0000000 60335 52.001 张三 2012-01-01 00:00:00.000 08:35:00.0000000 60135 50.002 张三 2012-01-01 00:00:00.000 08:36:00.0000000 60125 100.003 张三 2012-01-01 00:00:00.000 08:37:00.0000000 60139 102.001 张三 2012-01-02 00:00:00.000 09:35:00.0000000 60335 57.002 张三 2012-01-02 00:00:00.000 09:45:00.0000000 60335 58.00(7 行受影响)*/