【发布时间】:2011-12-11 15:43:41
【问题描述】:
我写了以下查询:
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;
但是它给了我错误的答案,但是如果我删除了ROWNUM <= 1 子句,那么正确的答案就在结果集的顶部。
那么我可以在这个查询中进行哪些更改以使其产生正确的答案?
谢谢, 亚历克斯。
编辑:忘了说我只希望查询返回结果集中的第一个结果。
【问题讨论】:
-
问题是rownum是在数据集排序之前分配的。