TRY:select top 8000 identity(int,0,1) as N into numtab from 
(select top 100 id=1  from sysobjects) as a,
(select top 100 id=1  from sysobjects) as b,
(select top 100 id=1  from sysobjects) as c
select top N,sum(Number) TAM (select a.N,b.Number  from  Numtab a left join 表 b on a.N>=b.id and a.N+4<=b.id)aaa group by N order by TAM desc

解决方案 »

  1.   

    Update:
    select top N,sum(Number) TAM from (select a.N,b.Number  from  Numtab a left join 表 b on a.N>=b.id and a.N+4<=b.id)aaa group by N order by TAM desc
      

  2.   

    再次理新:
    select top 1 N,sum(Number) TAM from (select a.N,b.Number  from  Numtab a left join 表 b on a.N>=b.id and a.N+4<=b.id)aaa group by N order by TAM desc
      

  3.   

    declare @a table (id int identity(1,1) , num int)
    insert into @a values (12)
    insert into @a values (22)
    insert into @a values (52)
    insert into @a values (62)
    insert into @a values (52)
    insert into @a values (22)
    insert into @a values (2)
    insert into @a values (10)
    insert into @a values (1)
    insert into @a values (102)
    insert into @a values (120)
    insert into @a values (54)
    insert into @a values (21)
    insert into @a values (20)
    insert into @a values (12)
    --select * from @aselect c.id ,c.num
    from @a c inner join
    (select top 1 a.id , (select sum(b.num) from @a b where b.id between a.id and a.id + 4 ) as bx
    from @a a  order by bx desc) as d on c.id between d.id and d.id +4
      

  4.   

    select * from a1 as B, 
    (select top 1 id, 
      (select sum(iid) from a1 where id between A.id and A.id+4) as sm 
     from a1 as A order by sm desc ) as C
    where B.id between C.id and C.id+4