declare @i int
set @i=2
select   idi from userinfo where idi>@i*10 and idi<(@i+1)*10
idi 数据列 (1,3,11,12,14,15,16,17,20,````)
select 列中没有的值 (13,18,19)

解决方案 »

  1.   

    select   idi from userinfo where idi>@i*10 and idi <(@i+1)*10
    ==
    select   idi from userinfo where idi > 20 and idi < 30
      

  2.   

    不好意思浪费大家时间了
    declare @i int 
    set @i=1 
    select   idi from userinfo where idi>@i*10 and idi <(@i+1)*10 
    idi 数据列 (1,3,11,12,14,15,16,17,20,````) 
    select 列中没有的值 (13,18,19)

    declare @i int 
    set @i=0
    select   idi from userinfo where idi>@i*10 and idi <(@i+1)*10 
    idi 数据列 (1,3,11,12,14,15,16,17,20,````) 
    select 列中没有的值 (2,4,5,6,7,8,9)
      

  3.   

    select idi from userinfo where idi>@i*10 and idi  <(@i+1)*10 这一句只能查到列中有的值
      

  4.   

    declare @i int  
    set @i=1  
    select   idi from userinfo where idi>@i*10 and idi  <(@i+1)*10   这句该怎么改
    idi 数据列 (1,3,11,12,14,15,16,17,20,````)  
    select 列中没有的值 (13,18,19)  这是我想要结果
    或 
    declare @i int  
    set @i=0 
    select   idi from userinfo where idi>@i*10 and idi  <(@i+1)*10  这句该怎么改
    idi 数据列 (1,3,11,12,14,15,16,17,20,````)  
    select 列中没有的值 (2,4,5,6,7,8,9)       这是我想要的结果
      

  5.   

    正解
    declare @i int 
    set @i=200000
    select identity(int,1,1)as id,idi  into #id from userinfo order by idi
    select (id+@i)as id into #idi from #id
    select top 1000 id from #idi where id  not in (select idi from #id) order by id
    drop table #id,#idi
    感谢yyyyzzzz_2002,pt1314917两位朋友的热心帮助,也希望更多的朋友问题解决后把答案与大家分享