--这个写个函数好处理,不知道你返回是什么?是一个值,还是一个记录???

解决方案 »

  1.   

    --不知楼主是否要这个?
    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*/
      

  2.   

    我知道怎样得到值了.
    我在哪里可以打分给你?
    非常感谢你帮忙