我知道這是一個重複問題,但其他帖子並未解決我的問題。如何在訂購後限制oracle查詢返回的行數?
我想只顯示從下面的查詢產生的前2行。
SELECT
AVG(sessionprice),
branchsuburb
FROM branch,
sessions
WHERE branch.branchid = sessions.branchid
GROUP BY branchsuburb
ORDER BY AVG(sessionprice) DESC;
該查詢的是將返回所有的結果,但我想它限制只有前2(無論在哪個行具有最高的平均)。我嘗試在這篇文章中獲取函數 How do I limit the number of rows returned by an Oracle query after ordering? 但是它只是返回一個ORA-00933錯誤。我知道我一定犯了一些愚蠢的錯誤,但我無法弄清楚。有沒有辦法做到這一點,而不使用子查詢?
添加取功能後的代碼看起來像這樣
SELECT
AVG(SESSIONPRICE),
BRANCHSUBURB
FROM BRANCH,
SESSIONS
WHERE BRANCH.BRANCHID = SESSIONS.BRANCHID
GROUP BY BRANCHSUBURB
ORDER BY AVG(SESSIONPRICE) DESC
FETCH FIRST 2 ROWS ONLY;
哪個Oracle版本? – Aleksej
SQL Developer 4.1.5 –
Oracle版本,而不是客戶端版本 – Aleksej