Heim > Datenbank > MySQL-Tutorial > Große Auswahl nach Blöcken in MySQL abrufen?

Große Auswahl nach Blöcken in MySQL abrufen?

王林
Freigeben: 2023-09-02 22:21:10
nach vorne
781 Leute haben es durchsucht

在 MySQL 中按块检索大的选择?

Um eine große Auswahl stückweise abzurufen, müssen Sie ORDER BY LIMIT verwenden. Die Syntax lautet wie folgt:

SELECT *FROM yourTableName ORDER BY yourColumnName LIMIT 0,10;
Nach dem Login kopieren

Mit der obigen Syntax erhalten Sie 10 Zeilen aus der Tabelle. In der obigen Syntax stellt 0 die erste Zeile in der Ergebnismenge der Tabelle dar, was bedeutet, dass sie nullbasiert indiziert ist. Der zweite Wert von LIMIT stellt die maximale Anzahl von Zeilen dar, die aus der Tabelle abgerufen werden können.

Wenn Sie Zeilen nach 10 bis 30 erhalten möchten, verwenden Sie in LIMIT eine Syntax wie diese:

SELECT *FROM yourTableName ORDER BY yourColumnName LIMIT 10,20; //11 to 30
Nach dem Login kopieren

Wenn Sie einen weiteren Satz Zeilen von 30 bis 50 wünschen, verwenden Sie erneut LIMIT:

SELECT *FROM yourTableName ORDER BY yourColumnName LIMIT 30 ,20; 31 to 50.
Nach dem Login kopieren

Dafür ist eine temporäre Tabelle erforderlich. Die Syntax lautet wie folgt:

DROP TEMPORARY TABLE IF EXISTS yourTemporaryTableName;
CREATE TEMPORARY TABLE yourTempTableName
AS
(
   SELECT *FROM yourOriginalTableName
   ORDER BY
   LIMIT 0,100
);
Nach dem Login kopieren

Wenn sich alle Datensätze in der temporären Tabelle befinden, verwenden Sie LIMIT wie oben beschrieben, um alle Datensätze aus der temporären Tabelle abzurufen.

SELECT *FROM yourTemporaryTableName LIMIT 0,100;
SELECT *FROM yourTemporaryTableName LIMIT 100,1000;
Nach dem Login kopieren

Jetzt liegt es an Ihnen, den Grenzwert festzulegen. Es empfiehlt sich, temporäre Tabellen jetzt zu löschen. Die Abfrage lautet wie folgt:

DROP TEMPORARY TABLE yourTemporaryTableName;
Nach dem Login kopieren

Lassen Sie uns die obige Diskussion demonstrieren. Erstellen Sie zunächst eine Tabelle. Die Abfrage zum Erstellen der Tabelle lautet wie folgt:

mysql> create table getRecordsDemo
   -> (
   -> Id int NOT NULL AUTO_INCREMENT,
   -> PRIMARY KEY(Id)
   -> );
Query OK, 0 rows affected (1.68 sec)
Nach dem Login kopieren

Verwenden Sie den Befehl insert, um einige Datensätze in die Tabelle einzufügen. Die Abfrage lautet wie folgt:

mysql> insert into getRecordsDemo values(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),();
Query OK, 738 rows affected (0.34 sec)
Records: 738 Duplicates: 0 Warnings: 0
Nach dem Login kopieren

Erstellen Sie nun eine temporäre Tabelle wie die Tabelle oben. Die Abfrage zum Erstellen der temporären Tabelle lautet wie folgt:

mysql> drop temporary table if exists TempRecord;
Query OK, 0 rows affected, 1 warning (0.00 sec)
mysql> create temporary table TempRecord
   -> as
   -> (
   -> select * from getRecordsDemo order by Id limit 0,738
   -> );
Query OK, 738 rows affected (0.03 sec)
Records: 738 Duplicates: 0 Warnings: 0
Nach dem Login kopieren

Jetzt können Sie die LIMIT-Klausel verwenden, um die Ergebnisse in Blöcken abzurufen.

Fall 1: Die folgende Abfrage wird verwendet, um einige Datensätze aus der temporären Tabelle „TempRecord“ abzurufen:

mysql> select *from TempRecord limit 0,10;
Nach dem Login kopieren

Hier ist die Ausgabe:

+----+
| Id |
+----+
|  1 |
|  2 |
|  3 |
|  4 |
|  5 |
|  6 |
|  7 |
|  8 |
|  9 |
| 10 |
+----+
10 rows in set (0.00 sec)
Nach dem Login kopieren

Fall 2: Die Abfrage lautet wie folgt, um den nächsten Satz abzurufen Datensätze:

mysql> select *from TempRecord limit 10,20;
+----+
| Id |
+----+
| 11 |
| 12 |
| 13 |
| 14 |
| 15 |
| 16 |
| 17 |
| 18 |
| 19 |
| 20 |
| 21 |
| 22 |
| 23 |
| 24 |
| 25 |
| 26 |
| 27 |
| 28 |
| 29 |
| 30 |
+----+
20 rows in set (0.00 sec)
Nach dem Login kopieren

Fall 3: Fragen Sie wie folgt ab, um einen weiteren Datensatzsatz zu erhalten:

mysql> select *from TempRecord limit 30,20;
+----+
| Id |
+----+
| 31 |
| 32 |
| 33 |
| 34 |
| 35 |
| 36 |
| 37 |
| 38 |
| 39 |
| 40 |
| 41 |
| 42 |
| 43 |
| 44 |
| 45 |
| 46 |
| 47 |
| 48 |
| 49 |
| 50 |
+----+
20 rows in set (0.00 sec)
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonGroße Auswahl nach Blöcken in MySQL abrufen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:tutorialspoint.com
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage