select menucode from (select rownum rm,menucode from t_menu order by dtime) 
where rm>=10 and rm<=20;

解决方案 »

  1.   

    select  t.menucode from (select menucode from t_menu order by dtime ) t
    where rownum>=10 and rownum<=20 这样就应该行了。 
     
    前面你的原因是 rownum的问题, rownum 是插入数据表后系统自动给他的值,与先后有关。
    可能你表中的数据删除和插入比较多,现在 以前插入的 10 到 20 条都没有了。 所以就没有了。现在将他作为一个 子查询来看待。
      

  2.   

    我觉得问题提的不明确,请问如何理解第10条到第20条记录?是按照Insert的顺序吗?还是按照数值大小的顺序?
      

  3.   

    select  t.menucode from (select menucode from t_menu order by dtime ) t
    where rownum>=10 (rownum>=10 ?)
      

  4.   

    rownum不能象其他变量一样这么比较的,如果你想取10到20之间的记录可以这么写:
    select menucode from (select menucode from t_menu order by dtime) 
    where rownum<=20
    minus
    select menucode from (select menucode from t_menu order by dtime) 
    where rownum<=9