你的例子有问题。
SQL> select rownum,t.* from tyd_nd t where rownum<10;   ROWNUM ND_NDBM              ND_LDH
--------- -------------------- --------------------
        1 KP2N01T00            ND-216YH(新)
        2 KPBC00Z90            ND-176DT
        3 KPZA05100            ND-176DT/A
        4 KP1400836            ND-510
        5 KP1402600            ND-507
        6 KP30010M2            CD-258A/C
        7 KP30010M3            DD-258A/C
        8 KP2226100            ND-12
        9 KP1401337            ND-589已选择9行。SQL>

解决方案 »

  1.   

    加上排序:
    SQL> select * from(
      2  select rownum id,t.* from tyd_nd t order by nd_ldh) t
      3  where t.id<10;       ID ND_NDBM              ND_LDH
    --------- -------------------- --------------------
            6 KP30010M2            CD-258A/C
            7 KP30010M3            DD-258A/C
            8 KP2226100            ND-12
            2 KPBC00Z90            ND-176DT
            3 KPZA05100            ND-176DT/A
            1 KP2N01T00            ND-216YH(新)
            5 KP1402600            ND-507
            4 KP1400836            ND-510
            9 KP1401337            ND-589已选择9行。SQL>
      

  2.   

    select * from
    (select substrb(zjmc, 1,20) text,pm from qycs_cszj where shzt='Y' order by pm)
    where rownum<=10
      

  3.   

    若你想得到按pm排序的前10条的话
    如:
    select * from
    (select substrb(zjmc, 1,20) text,pm 
     from qycs_cszj 
     where shzt='Y'order by pm)
    where rownum<=10;
      

  4.   

    select * from
    (select substrb(zjmc, 1,20) text,pm from qycs_cszj where shzt='Y' order by pm) a
    where rownum<=10