In MySQL verwenden wir häufig order by zum Sortieren und limit zum Paginieren. Wenn wir zuerst sortieren und dann paginieren müssen, verwenden wir häufig einen ähnlichen Ausdruck: select * from table name order by sort field limt M,N. Allerdings birgt dieser Schreibstil tiefere Nutzungsfallen. Wenn das Sortierfeld doppelte Daten enthält, können die Sortierergebnisse leicht nicht den Erwartungen entsprechen. Beim Abfragen der ersten und letzten Seite: Lösung: AUSWÄHLEN * AUS Kaufinfo ORDER BY Aktionszeit, ID LIMIT 0,2; Die oben genannten tatsächlichen Ausführungsergebnisse haben bewiesen, dass zwischen Realität und Vorstellung oft eine Lücke besteht. Die tatsächliche SQL-Ausführung wird nicht auf die oben beschriebene Weise ausgeführt. Tatsächlich optimiert MySQL hier Limit. Spezifische Optimierungsmethoden finden Sie im offiziellen Dokument: https://dev.mysql.com/doc/refman/5.7/en/limit-optimization.html /* Navicat MySQL-Datenübertragung Quellserver: Lokales mysql8.0 Quellserverversion: 80018 Quellhost: localhost:3308 Quelldatenbank: baihe Zielservertyp: MySQL Zielserverversion: 80018 Dateikodierung: 65001 Datum: 2020-06-09 14:47:37 */ SETZEN SIE FOREIGN_KEY_CHECKS=0; -- ---------------------------- -- Tabellenstruktur für Kaufinformationen -- ---------------------------- Tabelle löschen, wenn `Kaufinfo` vorhanden ist; CREATE TABLE `purchaseinfo` ( `id` int(11) NICHT NULL AUTO_INCREMENT, `Benutzer-ID` int(11) DEFAULT '0', `inout` varchar(1) ZEICHENSATZ utf8mb4 SORTIMENT utf8mb4_0900_ai_ci STANDARD NULL, `Geld` int(11) DEFAULT NULL, `Aktionszeit` Datum/Uhrzeit STANDARD NULL KOMMENTAR 'jiaoyi', Primärschlüssel (`id`), SCHLÜSSEL `UserId` (`userId`) ) ENGINE=InnoDB AUTO_INCREMENT=17 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; -- ---------------------------- -- Aufzeichnungen der Kaufinformationen -- ---------------------------- INSERT INTO `purchaseinfo` VALUES ('7', '1', 'I', '10000', '2020-06-09 18:05:41'); INSERT INTO `purchaseinfo` VALUES ('8', '7788', 'O', '20000', '2020-06-09 18:05:15'); INSERT INTO `purchaseinfo` VALUES ('9', '7788', 'I', '20000', '2020-06-09 18:05:15'); INSERT INTO `purchaseinfo` VALUES ('10', '7788', 'O', '50000', '2020-06-09 18:05:15'); INSERT INTO `purchaseinfo` VALUES ('11', '1', 'O', '50000', '2020-06-09 18:05:15'); INSERT INTO `purchaseinfo` VALUES ('12', '1', 'O', '50000', '2020-06-09 18:05:15'); INSERT INTO `purchaseinfo` VALUES ('13', '1', 'O', '50000', '2020-06-09 18:05:15'); INSERT INTO `purchaseinfo` VALUES ('14', '1', 'O', '50000', '2020-06-09 18:05:15'); INSERT INTO `purchaseinfo` VALUES ('15', '1', 'O', '50000', '2020-06-09 18:05:15'); INSERT INTO `purchaseinfo` VALUES ('16', '1', 'O', '50000', '2020-06-09 18:05:15'); Dies ist das Ende dieses Artikels über die Fallstricke beim Mischen von MySQL-Order-by und -Limit. Weitere Informationen zum Mischen von MySQL-Order-by und -Limit finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, Sie werden 123WORDPRESS.COM auch in Zukunft unterstützen! Das könnte Sie auch interessieren:
|
>>: Der Designprozess des Logos zum Mittherbstfest von Alibaba in Kombination mit der Website
Es gibt häufig Szenarien, in denen das Bild an di...
Vorwort: Verwenden Sie den Wasserzeicheneffekt im...
Vue kapselt die Breadcrumb-Komponente zu Ihrer In...
Baidu Cloud-Festplatte: Link: https://pan.baidu.c...
Vorwort Die meisten Benutzer führen diesen Vorgan...
In diesem Artikel wird der spezifische Code von j...
1. Fügen Sie eine Festplatte hinzu 2. Überprüfen ...
Verwenden Sie div, um eine Maske zu erstellen oder...
Inhaltsverzeichnis Überblick 1. Pfadmodul 2. Bis ...
Obwohl Mac-Systeme mit PHP und Apache ausgeliefer...
In diesem Artikelbeispiel wird der spezifische Co...
Vorwort Dieser Artikel zielt darauf ab, die langw...
In diesem Artikel wird die Click-to-Switch-Bildko...
Fügen Sie der Webseite ein HTML-Steuerelement für...
Das Erlernen von Linux-Befehlen stellt für die me...