我想将正常查询到的记录中第五条至第10条进行提取,我该怎麽设定SQL语句呢?mysql里可以用Limit来解决,可是sqlserver好像没有,听说好像得用top,那么该如何书写呢!
我现在的sql语句是  select * from stu order by id;

解决方案 »

  1.   

    --第11条到第20条,共选出10条记录
    select *
    from (select top 10 * from (select top 20 * from 表名 order by ID) t1 order by ID desc) t2
    order by ID
    --或--第11条到第20条,共选出10条记录
    select top 10 *
    from 表名
    where ID>(select max(ID) from (select top 10 ID from 表名 order by ID) t1)
    order by ID
      

  2.   

    --一般是6-10條
    select TOP 5 * from stu Where id Not In(Select TOP 5 id From stu) order by id;
      

  3.   

    修改下select TOP 5 * from stu Where id Not In(Select TOP 5 id From stu order by id) order by id;
      

  4.   

    或者select TOP 5 * from (Select TOP 10 * From stu order by id)A  order by id Desc;