MySQL - Ergebnisse sortieren
Wir haben die SQL gesehen SELECTBefehl zum Abrufen von Daten aus einer MySQL-Tabelle. Wenn Sie Zeilen auswählen, kann der MySQL-Server diese in beliebiger Reihenfolge zurückgeben, sofern Sie nichts anderes anweisen, indem Sie angeben, wie das Ergebnis sortiert werden soll. Sie sortieren eine Ergebnismenge jedoch, indem Sie eine hinzufügenORDER BY Klausel, die die Spalte (n) benennt, die Sie sortieren möchten.
Syntax
Der folgende Codeblock ist eine generische SQL-Syntax des Befehls SELECT zusammen mit der ORDER BY-Klausel zum Sortieren der Daten aus einer MySQL-Tabelle.
SELECT field1, field2,...fieldN table_name1, table_name2...
ORDER BY field1, [field2...] [ASC [DESC]]
Sie können das zurückgegebene Ergebnis nach jedem Feld sortieren, wenn dieses Feld aufgelistet ist.
Sie können das Ergebnis nach mehreren Feldern sortieren.
Sie können das Schlüsselwort ASC oder DESC verwenden, um das Ergebnis in aufsteigender oder absteigender Reihenfolge zu erhalten. Standardmäßig ist es die aufsteigende Reihenfolge.
Sie können die WHERE ... LIKE-Klausel auf die übliche Weise verwenden, um eine Bedingung zu setzen.
Verwenden der ORDER BY-Klausel an der Eingabeaufforderung
Dies verwendet den SQL SELECT-Befehl mit dem ORDER BY Klausel zum Abrufen von Daten aus der MySQL-Tabelle - tutorials_tbl.
Beispiel
Probieren Sie das folgende Beispiel aus, das das Ergebnis in aufsteigender Reihenfolge zurückgibt.
root@host# mysql -u root -p password;
Enter password:*******
mysql> use TUTORIALS;
Database changed
mysql> SELECT * from tutorials_tbl ORDER BY tutorial_author ASC
+-------------+----------------+-----------------+-----------------+
| tutorial_id | tutorial_title | tutorial_author | submission_date |
+-------------+----------------+-----------------+-----------------+
| 2 | Learn MySQL | Abdul S | 2007-05-24 |
| 1 | Learn PHP | John Poul | 2007-05-24 |
| 3 | JAVA Tutorial | Sanjay | 2007-05-06 |
+-------------+----------------+-----------------+-----------------+
3 rows in set (0.42 sec)
mysql>
Überprüfen Sie alle Autorennamen, die in aufsteigender Reihenfolge aufgeführt sind.
Verwenden der ORDER BY-Klausel in einem PHP-Skript
Sie können eine ähnliche Syntax der ORDER BY-Klausel in der PHP-Funktion verwenden - mysql_query(). Diese Funktion wird verwendet, um den SQL-Befehl und später eine andere PHP-Funktion auszuführenmysql_fetch_array() kann verwendet werden, um alle ausgewählten Daten abzurufen.
Beispiel
Probieren Sie das folgende Beispiel aus, das das Ergebnis in absteigender Reihenfolge der Autoren des Tutorials zurückgibt.
<?php
$dbhost = 'localhost:3036';
$dbuser = 'root';
$dbpass = 'rootpassword';
$conn = mysql_connect($dbhost, $dbuser, $dbpass);
if(! $conn ) {
die('Could not connect: ' . mysql_error());
}
$sql = 'SELECT tutorial_id, tutorial_title,
tutorial_author, submission_date
FROM tutorials_tbl
ORDER BY tutorial_author DESC';
mysql_select_db('TUTORIALS');
$retval = mysql_query( $sql, $conn );
if(! $retval ) {
die('Could not get data: ' . mysql_error());
}
while($row = mysql_fetch_array($retval, MYSQL_ASSOC)) {
echo "Tutorial ID :{$row['tutorial_id']} <br> ".
"Title: {$row['tutorial_title']} <br> ".
"Author: {$row['tutorial_author']} <br> ".
"Submission Date : {$row['submission_date']} <br> ".
"--------------------------------<br>";
}
echo "Fetched data successfully\n";
mysql_close($conn);
?>