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

在SqlServer2008(查询)中,怎么把同列同值的数据中,添加一个字段表示成第几行

2012-04-24 
在SqlServer2008(查询)中,如何把同列同值的数据中,添加一个字段表示成第几行?IDCode------ --------112321

在SqlServer2008(查询)中,如何把同列同值的数据中,添加一个字段表示成第几行?
ID Code
------ --------
1123
2123
4123
61234
71234
如上是原始表的数据。下面就是要查询出来的效果:
ID Code Row
------- ------- -----------
1123 1
2123 2
4123 3
612341
712342
如上是要实现的效果,也就是说把Code字段相同的值,进行自己的行标识。

望高手指教......

[解决办法]

SQL code
--> 测试数据:[tbl]if object_id('[tbl]') is not null drop table [tbl]create table [tbl]([ID] int,[Code] int)insert [tbl]select 1,123 union allselect 2,123 union allselect 4,123 union allselect 6,1234 union allselect 7,1234--2005以上版本select *,ROW_NUMBER()over(partition by [Code] order by getdate())as row_numfrom tbl--2000版本select *,row_num=(select COUNT(*) from tbl a where a.Code=b.Code and a.ID<=b.ID) from tbl b/*ID    Code    row_num1    123    12    123    24    123    36    1234    17    1234    2* 

热点排行