Select * 
  From (Select Rownum r,t.* From table t where rownum<30)
 Where r>10

解决方案 »

  1.   

    晕,这个问题在CSDN至少回答了3次了
      

  2.   

    呵呵,谢谢指教,请问这是标准SQL语句吗?在MS_SQLServer中应该怎么做呢?,还有MYSQL
      

  3.   

    不是标准sql,这里用到了Oralce的伪列 rownum,MS_SQLServer可以用top实现。
      

  4.   

    top只能取前面几条,不能取中间几条记录呀.
      

  5.   

    但在用ROWNUM时要用子查询,至少两层,如果需要ORDER BY,一般要用三层,并且要给ROWNUM 取别名,然后在外层使用别名。
      

  6.   

    在Sql server中可以这样:
    select top 30 * from table1
    minus
    select top 10 * from table1