Ich möchte diese SQL-Abfrage verwenden, um nur die Datensätze zwischen 8 und 10 zu erhalten:Erhalten Bereich von Datensätzen aus SQL-Abfrage Oracle
select *
from(
SELECT a.*,rownum rn
FROM ACTIVESESSIONSLOG a
ORDER BY USERID ASC)
WHERE rn >= 8 and rn <= 10
Wenn ich implementieren diese SQL-Abfrage in Paginierung ich jedes Mal, 1 Zeile erhalten die zweite Seite, egal wie viele Zeilen ich konfiguriert habe, um auf den Seiten angezeigt zu werden. Ist diese SQL-Abfrage gültig?
Dies ist die Tabellenstruktur:
-- TABLE ACTIVESESSIONSLOG
CREATE TABLE ACTIVESESSIONSLOG(
ASESSIONID VARCHAR2(30) NOT NULL,
USERID VARCHAR2(30),
ACTIVITYSTART TIMESTAMP(6),
ACTIVITYEND TIMESTAMP(6),
ACTIVITY CLOB
)
/
Beste Wünsche
Ändern Sie die interne Abfrage, wenn Sie nach der zweiten Seite suchen? –
Abfrage sieht korrekt aus, aber ich kann nicht verstehen, was das Problem wirklich ist. – hkutluay
Wie viele Zeilen werden genau dann zurückgegeben, wenn Sie keine WHERE-Klausel haben? Und was genau wird die Abfrage für Seite 2 ausgeführt? (Nicht was du weißt * sollte * sein, aber was hast du gefunden, als du deinen Code debuggt hast?) – MatBailie