Ale*_*nor 9 sql oracle oracle10g
我写了以下查询:
SELECT CLIENT.CLIENTNO, CLIENT.CNAME, TOTALS.TOTAL
FROM CLIENT, (SELECT CLIENTNO, SUM(AMOUNT) AS TOTAL
FROM PURCHASE GROUP BY CLIENTNO) TOTALS
WHERE CLIENT.CLIENTNO = TOTALS.CLIENTNO AND ROWNUM <= 1
ORDER BY TOTALS.TOTAL DESC;
Run Code Online (Sandbox Code Playgroud)
但是它给了我错误的答案,但是如果我删除了该ROWNUM <= 1子句,那么正确的答案就在结果集的顶部.
那么我可以在此查询中更改哪些内容以使其生成正确的答案?
谢谢,亚历克斯.
编辑:忘了说我只希望查询返回结果集中的第一个结果.
Luk*_*der 16
该ROWNUM过滤器适用分拣之前.你需要做的是:
SELECT * FROM (
SELECT CLIENT.CLIENTNO, CLIENT.CNAME, TOTALS.TOTAL
FROM CLIENT, (SELECT CLIENTNO, SUM(AMOUNT) AS TOTAL
FROM PURCHASE GROUP BY CLIENTNO) TOTALS
WHERE CLIENT.CLIENTNO = TOTALS.CLIENTNO
ORDER BY TOTALS.TOTAL DESC
)
WHERE ROWNUM <= 1
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
30897 次 |
| 最近记录: |