Wählen Sie das erste Ergebnis nur
Habe ich Folgendes geschrieben-Abfrage:
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;
Aber es gibt mir die falsche Antwort, aber wenn ich entfernen Sie die ROWNUM <= 1
- Klausel, dann die richtige Antwort ist an der Spitze der Ergebnismenge.
Also, was kann ich in dieser Abfrage zu machen, zu produzieren die richtige Antwort?
Dank,
Alex.
EDIT: Vergaß zu sagen, dass ich nur wollen, dass die Abfrage die das erste Ergebnis in der Ergebnismenge.
- Das problem ist, dass die rownum zugeordnet ist, bevor der Datensatz sortiert.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Den
ROWNUM
filter vor dem Sortieren. Was Sie tun müssen, ist dieses:Wickeln Sie die rownum, wo in einem anderen externen Abfrage: