Was ist der beste Weg, um TOP N Datensätze von UNION von 2 Abfragen zu selektieren?
Ich kann nicht
%Vor%weil beide Abfragen riesige Ergebnisse liefern, brauche ich jede mögliche Optimierung und möchte vermeiden, dass alles zurückgegeben wird. Aus dem gleichen Grund kann ich auch keine Ergebnisse in die Tabelle #TEMP einfügen.
Ich kann auch SET ROWCOUNT N
nicht verwenden, da ich möglicherweise Ergebnisse gruppieren muss und dieser Befehl die Anzahl der gruppierten Zeilen und nicht die zugrunde liegende Zeilenauswahl begrenzt.
Irgendwelche anderen Ideen? Danke!
Verwenden Sie das Top-Schlüsselwort auch für innere Abfragen:
%Vor%Sie könnten Folgendes versuchen. Es verwendet ein CTE, das Ihnen zuerst die Ergebnisse beider Abfragen liefert, und dann würden Sie Ihre TOP N aus dem CTE auswählen.
%Vor%Tags und Links sql sql-server select union