select a.cNO
from (select rownum cNO, 订货号,商品名,号码 from table order by 订货号,号码) a
where a.商品名 = '橡皮'

解决方案 »

  1.   

    用ROWID吧,拿分析函数试试。
    select 订货号,商品名,rowid,rank() over(order by rowid) px 
    from table where 商品名='橡皮'
      

  2.   

    是用分析函数。
    select 订货号,商品名,row_number() over(partiton by 订货号 order by 号码) rn 
    from tablename;
      

  3.   

    SELECT A.* FROM
    (SELECT 订货号, 商品名, 号码, RANK() OVER (PARTITION BY 订货号 ORDER BY 号码) AS RK FROM table) A
    WHERE A.商品名 = '橡皮';
      

  4.   

    效率差不一定是sql的原因,对于你的需求用分析函数已经是最好的解决方案了