首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

怎么分组使用IDENTITY添加序号

2012-03-21 
如何分组使用IDENTITY添加序号?例子:柜员 日期时间账号金额张三 2012-1-108:356013550.00张三 2012-1-108:

如何分组使用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

请问该如何实现呢?



[解决办法]

SQL code
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 行受影响)*/ 

热点排行