select * from (select serviceid,count(*) sum  from user_log where serviceid!=-1 group by serviceid order by sum desc) a where rownum<11

解决方案 »

  1.   

    用你的语句建个视图,再对视图用select * from ... where rownum<11;
      

  2.   

    select * from (select serviceid,count(*) sum ,rownum from user_log where serviceid!=-1 group by serviceid order by sum desc)rownum<11
      

  3.   

    上面的写错了,笔误
    select * from (select serviceid,count(*) sum ,rownum from user_log where serviceid!=-1 group by serviceid order by sum desc) where rownum<11
      

  4.   

    搞不定,还是建 个可以返回记录集的存储过程吧,在存储过程中建个temp表
      

  5.   

    select * from (select serviceid,count(*) sum  from user_log where serviceid!=-1 group by serviceid order by sum desc) where rownum<11
      

  6.   

    直接
    select serviceid,count(*) sum  from user_log where serviceid!=-1 and rownum<11 group by serviceid order by sum desc 就OK了!
      

  7.   

    排序以下!在条件下加上 desc
      

  8.   

    按什么排序然后在条件加上 desc
      

  9.   

    select * from (select serviceid,count(*) sum ,rownum from user_log where serviceid!=-1 group by serviceid order by sum desc) where rownum<11
      

  10.   

    像这种排序后取前十的需要用两层的伪列.
    SELECT *
      FROM (SELECT ROWNUM NUM, LJJC
              FROM TABLE
             WHERE LJJC > 0
             ORDER BY LJJC DESC)
     WHERE ROWNUM <= 10