日期:2014-05-19  浏览次数:20482 次

根据一列的值,生成自增ID的问题
如下:
name     id
ass       1
ass       2
ass       3
rty       1
qwe       1
qwe       2  
qwe       3
qwe       4
想这样,令ID列为自增ID,根据NAME列的值自增,这样的表怎么创建啊????

------解决方案--------------------
-- 上边的函数有点问题.这个就对了.

alter function dbo.fn_testid
(@name varchar(20))
returns int
as
begin
declare @count int
select @count=isnull(count(*),0)+1 from test
where [name]=@name
return(@count)
end
Go
------解决方案--------------------
SQL2005有dense_rank函数,刚好就是楼主的要求了,呵呵