oracle用rownum会与排序order by 产生冲突

需要用rownum和order by时可以用两层select进行查询
select *
    from(select rownum rn, a.* from
    (select DISTINCT c.name AS cname, NVL(sum(oi. money),0) AS sumMoney
                from (orders o inner join customers c on o.customer_id=c.id)
                 left join order_items oi
                  on o.id=oi.order_id
                     where   '1'='1'   
                         group by c.name
                           order by sumMoney desc
      ) a)
    where RN >  0 and RN < 4

原文地址:https://www.cnblogs.com/Ysuwade/p/7606761.html