Überblick Da wir die Daten normalerweise nicht direkt in der Datenbank präsentieren möchten, haben wir in den letzten beiden Abschnitten gezeigt, wie die Daten gefiltert werden. Neben der Filterung der Daten Möglicherweise müssen wir die Daten auch sortieren. Wenn wir beispielsweise die teuersten Artikel in der Liste wissen möchten, müssen wir das Betragsfeld möglicherweise in absteigender Reihenfolge sortieren. Wenn wir die Altersverteilung von jung bis alt sehen möchten, müssen wir das Altersfeld in der Benutzertabelle möglicherweise in aufsteigender Reihenfolge sortieren. Es kann auch erforderlich sein, die Daten einzuschränken. Beispielsweise müssen wir Benutzern, die Zahlungen von 1 bis 10, 11 bis 20 und 21 bis 30 leisten, unterschiedliche Geschenke machen. Zu diesem Zeitpunkt sind Datenbeschränkungen sehr nützlich. Hinweis: Im folgenden Skript steht [] für „optional“ und das Trennzeichen „|“ zeigt an, dass einer davon ausgewählt werden kann. Datensortierung nach Das Syntaxformat ist wie folgt: 1. Die zu sortierenden Felder folgen der Order-By-Anweisung; 2. asc und desc geben die Sortierregeln an, asc: aufsteigende Reihenfolge, desc: absteigende Reihenfolge, die Standardeinstellung ist aufsteigend asc; 3. Sie können mehrere Felder zum Sortieren angeben und mehrere Felder durch Kommas trennen. 4. Bei der Sortierung mehrerer Felder gilt: Je früher das Feld steht, desto höher ist die Priorität. Im Folgenden wird zuerst cname1 sortiert. Wenn cname1 den gleichen Wert hat, beginnt cname2 mit der Sortierung, bis alle Felder sortiert sind. wähle cname aus tname, sortiert nach cname1 [asc|desc], cname2 [asc|desc]...; Nach einzelnen Feldern sortieren Beispielsweise wird der Verkaufsbetrag in absteigender Reihenfolge entsprechend dem Transaktionsbestellbetrag angezeigt: mysql> wähle * aus t_order; +---------+---------+---------+-------+ | Bestellnummer | Konto | Menge | Waren | +---------+---------+---------+-------+ | 8 | Marke | 52,2 | 2 | | 9 | Henne | 1752.02 | 7 | | 10 | helyn | 88,5 | 4 | | 11 | Sol | 1007,9 | 11 | | 12 | kleines | 12 | 1 | | 13 | weng | 52,2 | 5 | | 14 | Ausfall | 99,71 | 9 | +---------+---------+---------+-------+ 7 Reihen im Set mysql> wähle * aus t_order, sortiere nach Betrag, absteigend; +---------+---------+---------+-------+ | Bestellnummer | Konto | Menge | Waren | +---------+---------+---------+-------+ | 9 | Henne | 1752.02 | 7 | | 11 | Sol | 1007,9 | 11 | | 14 | Ausfall | 99,71 | 9 | | 10 | helyn | 88,5 | 4 | | 8 | Marke | 52,2 | 2 | | 13 | weng | 52,2 | 5 | | 12 | kleines | 12 | 1 | +---------+---------+---------+-------+ 7 Reihen im Set Sortieren mehrerer Felder Mehrere Felder werden nach Kommas sortiert und die Priorität nimmt von links nach rechts ab. Wie in der folgenden Abbildung gezeigt, werden sie bei gleichem Betrag entsprechend der Anzahl der gekauften Artikel von der größten zur kleinsten sortiert: mysql> Auswahl * aus t_order, Sortierung nach Menge desc, Waren desc; +---------+---------+---------+-------+ | Bestellnummer | Konto | Menge | Waren | +---------+---------+---------+-------+ | 9 | Henne | 1752.02 | 7 | | 11 | Sol | 1007,9 | 11 | | 14 | Ausfall | 99,71 | 9 | | 10 | helyn | 88,5 | 4 | | 13 | weng | 52,2 | 5 | | 8 | Marke | 52,2 | 2 | | 12 | kleines | 12 | 1 | +---------+---------+---------+-------+ 7 Reihen im Set Nach Alias sortieren Der Zweck der Sortierung nach Alias oder bedingter Abfrage besteht darin, den Code zu vereinfachen und die Verwendung zu erleichtern. Der Alias kann auf Englisch oder Chinesisch sein: mysql> wähle Konto als ac, Betrag als am, Waren als gd aus t_order, sortiere nach am, gd desc; +----------+---------+----+ | ac | am | gd | +----------+---------+----+ | kleines | 12 | 1 | | weng | 52,2 | 5 | | Marke | 52,2 | 2 | | helyn | 88,5 | 4 | | Ausfall | 99,71 | 9 | | Sol | 1007,9 | 11 | | Henne | 1752.02 | 7 | +----------+---------+----+ 7 Reihen im Set Verwenden von Funktionen bei der Feldsortierung Im Folgenden wird die abs-Funktion verwendet, sodass bei der absteigenden Sortierung des am-Felds -99,99 über 99,71 steht. mysql> wähle * aus t_order; +---------+---------+---------+-------+ | Bestellnummer | Konto | Menge | Waren | +---------+---------+---------+-------+ | 8 | Marke | 52,2 | 2 | | 9 | Henne | 1752.02 | 7 | | 10 | helyn | 88,5 | 4 | | 11 | Sol | 1007,9 | 11 | | 12 | kleines | 12 | 1 | | 13 | weng | 52,2 | 5 | | 14 | Ausfall | 99,71 | 9 | | 15 | Marke1 | -99,99 | 5 | +---------+---------+---------+-------+ 8 Reihen im Set mysql> wähle Konto als ac, Betrag als am, Waren als gd aus t_order, sortiere nach abs(am) desc; +--------+---------+----+ | ac | am | gd | +--------+---------+----+ | Henne | 1752.02 | 7 | | Sol | 1007,9 | 11 | | Marke1 | -99,99 | 5 | | Ausfall | 99,71 | 9 | | helyn | 88,5 | 4 | | Marke | 52,2 | 2 | | weng | 52,2 | 5 | | kleines | 12 | 1 | +--------+---------+----+ 8 Reihen im Set Wird in Verbindung mit der Where-Bedingung verwendet „order“ kommt nach der Where-Bedingung und sortiert die Daten basierend auf den gefilterten Daten in „Where“. Nachfolgend sind die Daten mit Kaufbetrag > 80 und Kaufmenge > 5 herausgefiltert und absteigend nach Preis sortiert. mysql> wähle * aus t_order; +---------+---------+---------+-------+ | Bestellnummer | Konto | Menge | Waren | +---------+---------+---------+-------+ | 8 | Marke | 52,2 | 2 | | 9 | Henne | 1752.02 | 7 | | 10 | helyn | 88,5 | 4 | | 11 | Sol | 1007,9 | 11 | | 12 | kleines | 12 | 1 | | 13 | weng | 52,2 | 5 | | 14 | Ausfall | 99,71 | 9 | | 15 | Marke1 | -99,99 | 5 | +---------+---------+---------+-------+ 8 Reihen im Set mysql> Auswahl * aus t_order, wobei Betrag>80 und Waren>5 nach Betrag absteigend sortiert sind; +---------+---------+---------+-------+ | Bestellnummer | Konto | Menge | Waren | +---------+---------+---------+-------+ | 9 | Henne | 1752.02 | 7 | | 11 | Sol | 1007,9 | 11 | | 14 | Ausfall | 99,71 | 9 | +---------+---------+---------+-------+ Datenlimit Nachdem wir die Daten herausgefiltert haben, die den Anforderungen entsprechen, müssen wir oft noch einen bestimmten Bereich dieser Daten abrufen. Beispielsweise möchten wir dem 1. bis 10., 11. bis 20. und 21. bis 30. Benutzer, deren Zahlungen 1.000 überschreiten, unterschiedliche Geschenke machen. In diesem Fall müssen wir die Limit-Operation verwenden. „Limit“ wird verwendet, um die von einer Auswahlabfrage zurückgegebenen Daten zu begrenzen und wird häufig bei der Datenbewertung oder -paginierung verwendet. Das Syntaxformat ist wie folgt: Wähle CNAME aus TNAME-Limit [Offset,] Anzahl; 1. Offset gibt den Offset an, der sich auf die Anzahl der zu überspringenden Zeilen bezieht. Er kann weggelassen werden und der Standardwert ist 0, was bedeutet, dass 0 Zeilen übersprungen werden. Beispielsweise entspricht Limit 8 Limit 0,8. 2. Anzahl: Die Anzahl der Datenzeilen, die nach dem Überspringen des Offsets Offset abgerufen werden sollen, also die Anzahl der Zeilen. 3. Die Werte von Offset und Anzahl im Limit können nicht mit Ausdrücken ausgedrückt werden. Holen Sie sich die ersten n Datensätze Wie in der folgenden Abbildung gezeigt, sind Grenzwert n und Grenzwert 0,n konsistent: mysql> wähle * aus t_order; +---------+---------+---------+-------+ | Bestellnummer | Konto | Menge | Waren | +---------+---------+---------+-------+ | 8 | Marke | 52,2 | 2 | | 9 | Henne | 1752.02 | 7 | | 10 | helyn | 88,5 | 4 | | 11 | Sol | 1007,9 | 11 | | 12 | kleines | 12 | 1 | | 13 | weng | 52,2 | 5 | | 14 | Ausfall | 99,71 | 9 | | 15 | Marke1 | -99,99 | 5 | +---------+---------+---------+-------+ 8 Reihen im Set mysql> wähle * von t_order limit 2 ; +---------+---------+---------+-------+ | Bestellnummer | Konto | Menge | Waren | +---------+---------+---------+-------+ | 8 | Marke | 52,2 | 2 | | 9 | Henne | 1752.02 | 7 | +---------+---------+---------+-------+ 2 Reihen im Set mysql> wähle * von t_order limit 0,2; +---------+---------+---------+-------+ | Bestellnummer | Konto | Menge | Waren | +---------+---------+---------+-------+ | 8 | Marke | 52,2 | 2 | | 9 | Henne | 1752.02 | 7 | +---------+---------+---------+-------+ 2 Reihen im Set Einen einzelnen Datensatz begrenzen Hier erhalten wir eine Aufzeichnung der größten und kleinsten Zahlungsbeträge. Sie können zunächst die Sortierbedingung zum Sortieren verwenden und dann den ersten Datensatz einschränken: mysql> wähle * aus t_order; +---------+---------+---------+-------+ | Bestellnummer | Konto | Menge | Waren | +---------+---------+---------+-------+ | 8 | Marke | 52,2 | 2 | | 9 | Henne | 1752.02 | 7 | | 10 | helyn | 88,5 | 4 | | 11 | Sol | 1007,9 | 11 | | 12 | kleines | 12 | 1 | | 13 | weng | 52,2 | 5 | | 14 | Ausfall | 99,71 | 9 | | 15 | Marke1 | -99,99 | 5 | +---------+---------+---------+-------+ 8 Reihen im Set mysql> Auswahl * von t_order, wobei Betrag>0, Sortierung nach Betrag, Abstiegslimit 1; +---------+---------+---------+-------+ | Bestellnummer | Konto | Menge | Waren | +---------+---------+---------+-------+ | 9 | Henne | 1752.02 | 7 | +---------+---------+---------+-------+ 1 Reihe im Set mysql> Auswahl * von t_order, wobei Betrag>0, Sortierung nach Betrag aufsteigend, Limit 1; +---------+---------+--------+-------+ | Bestellnummer | Konto | Menge | Waren | +---------+---------+--------+-------+ | 12 | kleines | 12 | 1 | +---------+---------+--------+-------+ 1 Reihe im Set Oben sind die Details zum Sortieren und Paginieren von MySQL-Abfragen aufgeführt. Weitere Informationen zu MySQL-Abfragen finden Sie in den anderen verwandten Artikeln auf 123WORDPRESS.COM! Das könnte Sie auch interessieren:
|
<<: Detaillierte Erläuterung des Konfigurationsprozesses des Docker-Container-Netzwerkports
>>: el-table in vue realisiert automatischen Deckeneffekt (unterstützt feste)
Inhaltsverzeichnis 1. Automatische Installation m...
Linux erstellt NFS-Server Um den Datenaustausch z...
Während der Verwendung von MySQL wurde festgestel...
1: Installieren Sie MongoDB im Docker Schritt 1: ...
Inhaltsverzeichnis MySQL Truncate-Verwendung 1. T...
Vielleicht habe ich angefangen, falsch zu denken,...
In diesem Artikelbeispiel wird der spezifische JS...
1. Die drei Dateien /etc/hosts, /etc/resolv.conf ...
Inhaltsverzeichnis MySQL initialisieren MySQL-Die...
Lassen Sie uns heute ein interessantes Thema besp...
Inhaltsverzeichnis Überblick 1. Erstellen eines R...
TABELLE> <TR> <TD> <TH> <...
1. Problem Das mit Eclipse unter Windows entwicke...
Dieser Artikel beschreibt, wie man eine MySQL Mas...
Ziel dieses Artikels ist es, die Grundfunktionen ...