我有这个成功运行的查询
SELECT customerNumber
FROM ORDERS
GROUP BY customerNumber
ORDER BY count(orderNumber) DESC
Run Code Online (Sandbox Code Playgroud)
但是当我尝试将返回的行数限制为1时,我收到以下错误
ORA-00933: SQL command not properly ended
Run Code Online (Sandbox Code Playgroud)
这是我尝试过的:
SELECT customerNumber
FROM ORDERS
GROUP BY customerNumber
ORDER BY count(orderNumber) DESC
fetch first 1 row only;
Run Code Online (Sandbox Code Playgroud)
和
SELECT customerNumber
FROM ORDERS
GROUP BY customerNumber
ORDER BY count(orderNumber) DESC
WHERE ROWNUM=1;
Run Code Online (Sandbox Code Playgroud)
在Oracle中,您需要先进行排序,然后选择rownum.因此,您需要嵌套返回已排序数据的查询并在WHERE外部使用过滤子句.
SELECT * FROM
(
SELECT customerNumber
FROM ORDERS
GROUP BY customerNumber
ORDER BY count(orderNumber) DESC
) resultSet
WHERE ROWNUM=1;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
20711 次 |
| 最近记录: |