我想把120条连续的记录分成45条,45条,30条。请问怎么办啊?比如说我第一次取出的是前45 条,第二次取出的是接下来的45条,然后再取出最后的30条。可以分成三条SQL语句。谢谢!

解决方案 »

  1.   

    select top 45 * from tableme order by idselect top 45 * from tableme 
    where id not in (select top 45 * from tableme order by id)
    order by idselect top 30 * from tableme 
    where id not in (select top 90 * from tableme order by id)
    order by id
      

  2.   

    先告诉你一种效率不高的方法

    ---- 1~15
    select top 15 * from tableName 
    ---- 16~30
    select top 30 * from tableName 
    where ID not in(select top 15 ID from tableName )
    ---- 31~45
    select top 45 * from tableName 
    where ID not in(select top 30 ID from tableName )





      

  3.   

    id 排序
    select top 45 * from tableme order by idselect top 45 * from tableme 
    where id not in (select top 45 * from tableme order by id)
    order by idselect top 30 * from tableme 
    where id not in (select top 90 * from tableme order by id)
    order by id
      

  4.   

    在告诉你一种方法 :比如  16~30
    select c.*
    from
    (
    select  countID = (select count(b.ID)+1 from tableName b where b.tId < a.tId) , a.*
    from tableName a
    ) c
    where countID between 16 and 30