Heim > Datenbank > MySQL-Tutorial > Hauptteil

So implementieren Sie eine aufsteigende Abfrage in MySQL

青灯夜游
Freigeben: 2022-02-17 17:08:25
Original
12893 Leute haben es durchsucht

In MySQL können Sie die Anweisung „SELECT“ und das Schlüsselwort „ORDER BY“ verwenden, um aufsteigende Abfragen zu implementieren. Die Syntax lautet „SELECT {*|Feldspaltenname} FROM Tabellenname [WHERE-Bedingung] GROUP BY Feldname ASC; ".

So implementieren Sie eine aufsteigende Abfrage in MySQL

Die Betriebsumgebung dieses Tutorials: Windows7-System, MySQL8-Version, Dell G3-Computer.

In MySQL können Sie die Anweisung „SELECT“ und das Schlüsselwort „ORDER BY“ verwenden, um aufsteigende Abfragen zu implementieren.

Die SELECT-Anweisung wird zum Abfragen von Daten verwendet, und das Schlüsselwort ORDER BY wird hauptsächlich zum Sortieren der Daten in den Abfrageergebnissen in einer bestimmten Reihenfolge verwendet.

Grundlegende Grammatik:

SELECT {*|字段列名} FROM 表名 [WHERE 条件] GROUP BY 字段名 [ASC|DESC];
Nach dem Login kopieren

Die Grammatik wird unten erklärt.

  • Feldname: Gibt den Namen des Feldes an, das sortiert werden muss. Wenn es mehrere Felder gibt, trennen Sie diese durch Kommas.

  • ASC|DESC: ASC bedeutet, dass die Felder in aufsteigender Reihenfolge sortiert sind; DESC bedeutet, dass die Felder in absteigender Reihenfolge sortiert sind. ASC ist der Standardwert.

Bei der Verwendung des Schlüsselworts ORDER BY sollten Sie auf folgende Aspekte achten:

  • Dem Schlüsselwort ORDER BY kann eine Unterabfrage folgen (Unterabfragen werden in den späteren Tutorials ausführlich erläutert, verstehen Sie es hier) .

  • Wenn das sortierte Feld einen Nullwert enthält, behandelt ORDER BY den Nullwert als Mindestwert.

  • ORDER BY Wenn Sie mehrere Felder zum Sortieren angeben, sortiert MySQL von links nach rechts entsprechend der Reihenfolge der Felder.

Einzelfeldsortierung

Im Folgenden wird anhand eines konkreten Beispiels veranschaulicht, wie MySQL die Abfrageergebnisse sortiert, wenn ORDER BY ein einzelnes Feld angibt.

Beispiel 1

Das Folgende fragt alle Datensätze in der Tabelle tb_students_info ab und sortiert das Höhenfeld. Die SQL-Anweisung und die laufenden Ergebnisse lauten wie folgt.

mysql> SELECT * FROM tb_students_info ORDER BY height;
+----+--------+---------+------+------+--------+------------+
| id | name   | dept_id | age  | sex  | height | login_date |
+----+--------+---------+------+------+--------+------------+
|  2 | Green  |       3 |   23 | F    |    158 | 2016-10-22 |
|  1 | Dany   |       1 |   25 | F    |    160 | 2015-09-10 |
|  4 | Jane   |       1 |   22 | F    |    162 | 2016-12-20 |
|  7 | Lily   |       6 |   22 | F    |    165 | 2016-02-26 |
| 10 | Tom    |       4 |   23 | M    |    165 | 2016-08-05 |
|  8 | Susan  |       4 |   23 | F    |    170 | 2015-10-01 |
|  6 | John   |       2 |   21 | M    |    172 | 2015-11-11 |
|  5 | Jim    |       1 |   24 | M    |    175 | 2016-01-15 |
|  9 | Thomas |       3 |   22 | M    |    178 | 2016-06-07 |
|  3 | Henry  |       2 |   23 | M    |    185 | 2015-05-31 |
+----+--------+---------+------+------+--------+------------+
10 rows in set (0.08 sec)
Nach dem Login kopieren

Wie Sie den Ergebnissen entnehmen können, sortiert MySQL die Daten im Höhenfeld der Abfrage in aufsteigender Reihenfolge nach der Größe des Werts.

Mehrfeldsortierung

Im Folgenden wird anhand eines konkreten Beispiels veranschaulicht, wie MySQL die Abfrageergebnisse sortiert, wenn ORDER BY mehrere Felder angibt.

Beispiel 2

Fragen Sie die Felder „Name“ und „Höhe“ in der Tabelle „tb_students_info“ ab, sortieren Sie zuerst nach Höhe und dann nach Name. Die SQL-Anweisung und die laufenden Ergebnisse lauten wie folgt.

mysql> SELECT name,height FROM tb_students_info ORDER BY height,name;
+--------+--------+
| name   | height |
+--------+--------+
| Green  |    158 |
| Dany   |    160 |
| Jane   |    162 |
| Lily   |    165 |
| Tom    |    165 |
| Susan  |    170 |
| John   |    172 |
| Jim    |    175 |
| Thomas |    178 |
| Henry  |    185 |
+--------+--------+
10 rows in set (0.09 sec)
Nach dem Login kopieren

Hinweis: Beim Sortieren mehrerer Felder muss das erste zu sortierende Feld denselben Wert haben, bevor das zweite Feld sortiert wird. Wenn alle Werte in den Daten des ersten Felds eindeutig sind, sortiert MySQL das zweite Feld nicht mehr.

Standardmäßig werden die Abfragedaten in aufsteigender alphabetischer Reihenfolge (A~Z) sortiert, die Sortierung der Daten ist jedoch nicht darauf beschränkt. Sie können DESC in ORDER BY auch verwenden, um die Abfrageergebnisse in absteigender Reihenfolge (Z~) zu sortieren A).

Beispiel 3

Fragen Sie die Tabelle tb_students_info ab, sortieren Sie zuerst nach Höhe in absteigender Reihenfolge und dann nach Name in aufsteigender Reihenfolge. Die SQL-Anweisung und die laufenden Ergebnisse lauten wie folgt. Das Schlüsselwort

mysql> SELECT name,height FROM tb_student_info ORDER BY height DESC,name ASC;
+--------+--------+
| name   | height |
+--------+--------+
| Henry  |    185 |
| Thomas |    178 |
| Jim    |    175 |
| John   |    172 |
| Susan  |    170 |
| Lily   |    165 |
| Tom    |    165 |
| Jane   |    162 |
| Dany   |    160 |
| Green  |    158 |
+--------+--------+
10 rows in set (0.00 sec)
Nach dem Login kopieren

DESC sortiert nur die vorherigen Spalten in absteigender Reihenfolge, hier wird nur das Höhenfeld in absteigender Reihenfolge sortiert. Daher wird die Höhe in absteigender Reihenfolge sortiert, während der Name weiterhin in aufsteigender Reihenfolge sortiert wird. Wenn Sie nach mehreren Spalten in absteigender Reihenfolge sortieren möchten, müssen Sie für jede Spalte das Schlüsselwort DESC angeben.

【Verwandte Empfehlung: MySQL-Video-Tutorial

Das obige ist der detaillierte Inhalt vonSo implementieren Sie eine aufsteigende Abfrage in MySQL. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
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