Heim  >  Artikel  >  Datenbank  >  Hat MySQL eine Top-Abfrage?

Hat MySQL eine Top-Abfrage?

anonymity
anonymityOriginal
2019-05-08 17:10:393662Durchsuche

In MySQL gibt es keine Top-Abfrage, aber Sie können die Limit-Abfrage verwenden, um den gleichen Effekt zu erzielen. Die Syntax lautet „SELECT * FROM table LIMIT [offset,] rows | rows OFFSET offset“.

Hat MySQL eine Top-Abfrage?

Freunde, die es gewohnt sind, auf den MSSQL-Server zuzugreifen, sind möglicherweise daran gewöhnt, beim Abfragen der ersten N Datensätze mit MySQL die Select Top N-Form der Anweisung zu verwenden. Dies wird hier erklärt , MySQL verfügt nicht über diese Syntax. MySQL verwendet Limit, um verwandte Funktionen zu implementieren, und die Funktion ist leistungsfähiger, GUT. Im Folgenden finden Sie eine ausführliche Erläuterung der Verwendung von Limit in MySQL:

Syntax:

SELECT * FROM table LIMIT [offset,] rows | rows OFFSET offset

Mit der LIMIT-Klausel kann die SELECT-Anweisung gezwungen werden, eine bestimmte Anzahl von Datensätzen zurückzugeben . LIMIT akzeptiert ein oder zwei numerische Argumente. Der Parameter muss eine ganzzahlige Konstante sein.

Wenn zwei Parameter angegeben werden, gibt der erste Parameter den Offset der ersten zurückgegebenen Datensatzzeile an und der zweite Parameter gibt die maximale Anzahl zurückgegebener Datensatzzeilen an.

Der Offset der ersten Datensatzzeile beträgt 0 (anstelle von 1): Aus Kompatibilitätsgründen mit PostgreSQL unterstützt MySQL auch die Syntax: LIMIT # OFFSET #.
mysql> SELECT * FROM table LIMIT 5,10; //Datensatzzeilen 6-15 abrufen, beachten Sie, dass 10 der Offset ist
//Um alle Zeilen ab einem bestimmten Offset bis zum Ende des Datensatzes abzurufen Datensatzzeile festlegen, Sie können den zweiten Parameter auf -1 festlegen:
mysql> // Datensatzzeile 96-last abrufen.
//Wenn nur ein Parameter angegeben ist , es gibt die maximale Anzahl der zurückgegebenen Datensatzzeilen an:
mysql> //Die ersten 5 Datensatzzeilen abrufen//Mit anderen Worten, LIMIT n entspricht LIMIT 0,n.
Wenn Sie die letzten paar Daten erhalten möchten, können Sie eine Reihenfolge nach ID desc hinzufügen

MySQL unterstützt die Syntax von „select top n“ nicht. Sie sollten stattdessen Folgendes verwenden:
select * from tablename order by orderfield absteigend/aufsteigend Grenzposition, Zähler
Position gibt an, wo mit der Abfrage begonnen werden soll, wenn es 0 ist, beginnt es von vorne, Zähler gibt die Anzahl der Abfragen an
Holen Sie sich die erste 15 Datensätze:
wählen Sie * aus Tabellenname, Reihenfolge nach Bestellfeld, Ab-/Aufstiegslimit 0,15

Das obige ist der detaillierte Inhalt vonHat MySQL eine Top-Abfrage?. 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
Vorheriger Artikel:Wann verwendet MySQL Indizes?Nächster Artikel:Wann verwendet MySQL Indizes?