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

怎样将a字段值相同的b字段按从1开始的顺序递增?该怎么解决

2012-01-12 
怎样将a字段值相同的b字段按从1开始的顺序递增?比如1张表:ab-----------str11str11str11str21str21str21st

怎样将a字段值相同的b字段按从1开始的顺序递增?
比如1张表:
a b
-----------
str1 1
str1 1
str1 1
str2 1
str2 1
str2 1
str2 1
str2 1
str3 1
str3 1
我想变为

a b
-----------
str1 1
str1 2
str1 3
str2 1
str2 2
str2 3
str2 4
str2 5
str3 1
str3 2

请教用sql语句怎样能实现?



[解决办法]

SQL code
SET NOCOUNT ONDECLARE @T TABLE (a VARCHAR(10),b INT)----------- INSERT @T SELECT 'str1'  ,1 INSERT @T SELECT 'str1'  ,1 INSERT @T SELECT 'str1'  ,1 INSERT @T SELECT 'str2'  ,1 INSERT @T SELECT 'str2'  ,1 INSERT @T SELECT 'str2'  ,1 INSERT @T SELECT 'str2'  ,1 INSERT @T SELECT 'str2'  ,1 INSERT @T SELECT 'str3' , 1 INSERT @T SELECT 'str3',  1SELECT A,B=ROW_NUMBER() OVER(PARTITION BY A ORDER BY GETDATE()) FROM @T/**A          B---------- --------------------str1       1str1       2str1       3str2       1str2       2str2       3str2       4str2       5str3       1str3       2/
[解决办法]
SQL code
select a,b=row_number() over(partition by a order by a)from tb 

热点排行