0
ich die folgende Abfrage haben:PL SQL verwenden ORDER BY in UNION-Abfrage
SELECT
USERS.*,
ROWNUM AS RANK ,
4101 AS TOTAL
FROM
((
SELECT
*
FROM
USER_LIST
WHERE
USER_LIST.USR_ID = 1)
UNION(
SELECT
*
FROM
USER_LIST)
) USERS
Welche ganz gut funktioniert, ich möchte die Ergebnisse über 'ORDER BY' sortieren. Ich habe versucht, die 'ORDER BY' vor der letzten Klammer (vor den Benutzern), aber ich bekomme einen Fehler, bitte beraten, wie kann ich 'ORDER BY' in dieser Abfrage verwenden.
Danke.
Try ') NUTZER Ordnen nach ...' –
Nur etwas nicht-verwandten Sache meiner Meinung nach kam, nachdem Sie den Code gesehen zu haben. Ich glaube, es wäre viel effizienter, wenn Sie "UNION ALL" anstelle von "UNION" verwenden und einfach die gewünschte "USR_ID" von der zweiten Unterabfrage ausschließen (z. B. 'WHERE USER_LIST.USR_ID! = 1'). Dies würde den Index plus verwenden, um die Vergleichsergebnissätze dieser beiden Unterabfragen loszuwerden. "UNION" erweitert die Zeit der Abfrageausführung erheblich, wenn größere Ergebnismengen verglichen werden (manchmal sogar, wenn weniger als hundert Datensätze abgerufen werden). – AndrewMcCoist