Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 如何在Oracle 11g中限制查询结果?_Sql_Oracle_Oracle11g - Fatal编程技术网

Sql 如何在Oracle 11g中限制查询结果?

Sql 如何在Oracle 11g中限制查询结果?,sql,oracle,oracle11g,Sql,Oracle,Oracle11g,我有以下疑问: 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 ---------

我有以下疑问:

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.

我如何显示产品的最大无产品销售额?在其他SQL中,可以通过添加LIMIT=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;

为了记录在案,如果有人在这里绊倒,从Oracle 12开始,您可以使用SQL:2008标准
FETCH FIRST N ROWS ONLY
子句