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.
Schreibe einen Kommentar