日期:2014-05-18  浏览次数:20605 次

如何将相同的名字排序?
id                 name       idd
int递增       姓名       int(需要排序)

现在name里面有很多重名,需要对每个重名的按id顺序进行排序放到idd,要求每个名字从1开始。

譬如:姓名里有10个姓名为aaa,第一个为aaa的id为12,那么对应idd为1,第二个为aaa的id为13,那么对应的idd为2。下一个姓名又如此做。

如何用一条sql语句完成?

------解决方案--------------------
select id,name,idd=(select count(1) from [Test] where name=a.name and id <=a.id) from [Test] a