查询一个数据库表t_student表,
select * from t_student order by student_id
我想查询50条到100条记录,请教各位高手

解决方案 »

  1.   

    select t.* from 
     (select rownum nn,* from t_student order by student_id) t
    where t.nn>=50 and t.nn<=100
    order by t.student_id
      

  2.   

    select * from
    (select row_number() over(order by a.student_id) as num,a.* 
    from t_student a 
    ) c
    where c.num between 50 and 100
    或者
    select * from
    (select rownum as num,a.* 
    from t_student a 
    order by a.student_id) c
    where c.num between 50 and 100
      

  3.   

    select * from
    (select row_number() over(order by a.student_id) as num,a.* 
    from t_student a 
    ) c
    where c.num>=50 and c.num<=100
      

  4.   

    select top 100 * from t_student where student_id not in (select top 49 student_id from t_student order by student_id
    ) order by student_id
      

  5.   

    select row1,row2,row3,row4 from
    (
    select rownum as seq,row1,row2,row3,row4 from t_student where rownum < 101 order by student_id
    )
    where seq > 49
      

  6.   

    select * from t_student where rownum < 50 order by student_id 
    minus
    select * from t_student where rownum < 100 order by student_id
      

  7.   

    哦应该是
    select * from t_student where rownum < 100 order by student_id 
    minus
    select * from t_student where rownum <  50 order by student_id
      

  8.   

    印象中rownum应该不能用BETWEEN AND
      

  9.   

    记录筛选,必须要有个排序规则的!!!
    根据你需要的排序规则,在写相应的SQL语句。
      

  10.   

    bluesky1980(sugar)
    谁说不可以,套一层不就可以用了.zxwl(魔君七夜)
    你是先取记录后排序的,不信你可以试试你的语句!