1

可能重复:
Oracle SQL - 如何检索列的最高 5 个值

嘿,所以我有一个查询要执行此操作:编写一个查询,仅检索在六个月期间取货次数最多的十家公司。给了我 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
4

1 回答 1

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;

这个网站上有很多例子,比如这个

于 2012-11-11T22:41:30.563 回答