Heim >Datenbank >MySQL-Tutorial >Detaillierte Erläuterung des Unterschieds zwischen MySQL- und Oracle-Paging

Detaillierte Erläuterung des Unterschieds zwischen MySQL- und Oracle-Paging

黄舟
黄舟Original
2017-09-06 14:43:382003Durchsuche

Mysql verwendet Limit-Paging und Oracle verwendet Rownum-Paging. Freunde, die es benötigen, können sich darauf beziehen

1. MySQL verwendet Limit Paging


select * from stu limit m, n; //m = (startPage-1)*pageSize,n = pageSize

PS:

(1) Der erste Parameterwert m repräsentiert die Startzeile, der zweite Der Parameter Gibt an, wie viele Zeilen belegt werden sollen (Seitengröße)

(2) m= (2-1)*10+1,n=10, was bedeutet, dass die Grenze 11,10 bei Zeile 11 beginnt und Zeile 10 einnimmt , also die 2 Seiten mit Daten.

(3) Die m- und n-Parameterwerte können nicht in Berechnungsausdrücken in der Anweisung geschrieben werden. Die Werte müssen vor dem Schreiben in der Anweisung berechnet werden.

2. Oracle verwendet Rownum-Paging


select * from (
select rownum rn,a.* from table_name a where rownum <= x
//结束行,x = startPage*pageSize
)
where rn >= y; //起始行,y = (startPage-1)*pageSize+1

PS:

(1) >= y, <= x bedeutet von Zeile y (Startzeile) bis Zeile x (Endzeile).

(2) rownum kann nur mit kleiner als, nicht größer als verglichen werden, da rownum zuerst abgefragt und dann sortiert wird. Wenn Ihre Bedingung beispielsweise rownum>1 ist, ist rownum die erste Datenabfrage 1, dann Nicht förderfähig. Die 2., 3.... sind ähnlich, aber sie haben nie die Bedingungen erfüllt, daher wurden keine Ergebnisse zurückgegeben. Daher müssen Sie bei der Abfrage einen Alias ​​festlegen und diesen dann nach Abschluss der Abfrage aufrufen, um den Größer-als-Wert zu ermitteln.

Zusammenfassung

Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung des Unterschieds zwischen MySQL- und Oracle-Paging. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn