【问题标题】:How to LIMIT query results in Oracle 11g? [duplicate]如何在 Oracle 11g 中限制查询结果? [复制]
【发布时间】:2021-01-31 10:17:09
【问题描述】:

我有以下查询:

SELECT p.product_name, SUM(o.quantity) no_of_product_sale
  2  FROM Order_Address_Quantity o
  3  JOIN Product p ON p.product_code = o.product_id
  4  GROUP BY p.product_name;

导致:

PRODUCT_NAME                   NO_OF_PRODUCT_SALE
------------------------------ ------------------
Coffee                                         10
Noodles                                         4
Oil                                             8
Rice                                            5
Dishwasher                                      3
Biscuits                                        2

6 rows selected.

如何展示具有最大 no_of_product_sale 的产品?在其他 SQL 中,可以通过添加 LIMIT = 1 子句来完成。

【问题讨论】:

标签: sql oracle oracle11g


【解决方案1】:

您需要添加一个 ORDER BY 子句来将您的条目从最高到最低排序,然后您可以使用外部 SELECT 从中获取第一个条目:

SELECT *
FROM 
(SELECT p.product_name, SUM(o.quantity) no_of_product_sale
FROM Order_Address_Quantity o
JOIN Product p ON p.product_code = o.product_id
GROUP BY p.product_name
ORDER BY 2 DESC )
WHERE ROWNUM = 1;

【讨论】:

    猜你喜欢
    • 2015-01-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-08
    • 2011-09-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多