select 
    C.USER 
from
    (select 
         B.* 
     from 
         (select 
              USER,
              sum(COST) as COST 
          from 
              A
          group by
              USER) B 
     order by 
         COST DESC) C
where 
    rownum<100001

解决方案 »

  1.   

    select 
        C.USER1
    from
        (select 
             B.* 
         from 
             (select 
                  USER1,
                  sum(COST1) OVER (PARTITION BY USER1)as COST 
              from 
                  TEST001 ) B 
                  order by   COST DESC) C
    where 
        rownum<10001;
    表名TEST001 字段USER1,COST1。
    用这个会不会快点?