--不知楼主是否要这个? declare @a table(id int,name varchar(20)) insert into @a select 1,'A' UNION SELECT 2,'B' UNION SELECT 3,'B' UNION SELECT 4,'B' UNION SELECT 5,'A' UNION SELECT 6,'A' UNION SELECT 7,'B' UNION SELECT 8,'A'SELECT *,id-(select isnull(max(id),a.id) from @a where id<a.id and name=a.name) as 跟上个相差值 FROM @a a/*结果 1 A 0 2 B 0 3 B 1 4 B 1 5 A 4 6 A 1 7 B 3 8 A 2*/
declare @a table(id int,name varchar(20))
insert into @a
select 1,'A' UNION
SELECT 2,'B' UNION
SELECT 3,'B' UNION
SELECT 4,'B' UNION
SELECT 5,'A' UNION
SELECT 6,'A' UNION
SELECT 7,'B' UNION
SELECT 8,'A'SELECT *,id-(select isnull(max(id),a.id) from @a where id<a.id and name=a.name) as 跟上个相差值
FROM @a a/*结果
1 A 0
2 B 0
3 B 1
4 B 1
5 A 4
6 A 1
7 B 3
8 A 2*/
我在哪里可以打分给你?
非常感谢你帮忙