如何在oracle中使用rownum来限制它

时间:2012-11-11 21:35:40

标签: oracle

  

可能重复:
  Oracle SQL - How to Retrieve highest 5 values of a column

嘿所以我有一个查询来做到这一点: 编写一个查询,该查询仅检索六个月内拾取次数最多的十家公司 我已经给了6个月,我尝试了很多查询,这就是我所拥有的,但我知道它的错误,因为我不知道

SELECT * FROM 
(SELECT customers.name,COUNT(MANIFEST.MANIFEST_BARCODE) AS Pickups
FROM customers JOIN manifest ON (Reference = pickup_reference) 
ORDER BY Pickups desc;)
WHERE ROWNUM < 11

1 个答案:

答案 0 :(得分:1)

没有看到你的表结构等我不知道六个月的限制在哪里,但是对于其余的你有一个没有count子句的聚合函数(group by),并且内部查询中的随机分号。这样的事情应该有效,并且接近你已经拥有的东西:

SELECT * FROM (
    SELECT customers.name, COUNT(manifest.manifest_barcode) AS Pickups
    FROM customers
    JOIN manifest ON (Reference = pickup_reference)
    GROUP BY customers.name
    ORDER BY pickups DESC
)
WHERE ROWNUM < 11;

此网站上有很多示例,例如this one