Artikelverzeichnis
MySQLBedingte Sortierung nach mehreren Feldern?MySQL Reihenfolge nach absteigender und aufsteigender Abfrageanweisung/-funktion
MySQL-Sortierung
Wir wissen, dass die SQL SELECT-Anweisung verwendet wird, um Daten aus der MySQL-Tabelle zu lesen.
Wenn wir die gelesenen Daten sortieren müssen, können wir MySQL verwenden SORTIEREN NACH -Klausel, um festzulegen, welches Feld Sie auf welche Weise sortieren möchten, und geben Sie dann die Suchergebnisse zurück.
Grammatik
Das Folgende ist eine SQL SELECT-Anweisung, die die ORDER BY-Klausel verwendet, um die Abfragedaten zu sortieren, bevor die Daten zurückgegeben werden:
SELECT field1, field2,...fieldN table_name1, table_name2... ORDER BY field1, [field2...] [ASC [DESC]]
- Sie können jedes Feld als Sortierbedingung verwenden, um sortierte Abfrageergebnisse zurückzugeben.
- Sie können mehrere Felder zum Sortieren festlegen.
- Sie können die Schlüsselwörter ASC oder DESC verwenden, um festzulegen, dass die Abfrageergebnisse in aufsteigender oder absteigender Reihenfolge sortiert werden.Standardmäßig ist es in aufsteigender Reihenfolge.
- Sie können WHERE...LIKE-Klauseln hinzufügen, um Bedingungen festzulegen.
Verwenden der ORDER BY-Klausel in der Eingabeaufforderung
Im Folgenden wird die ORDER BY-Klausel in der SQL SELECT-Anweisung verwendet, um die Daten in der MySQL-Datentabelle chenweiliang_tbl zu lesen:
Beispiel
Probieren Sie die folgenden Beispiele aus und die Ergebnisse werden in aufsteigender und absteigender Reihenfolge sortiert.
SQL-Sortierung
mysql> use chenweiliang; Database changed mysql> SELECT * from chenweiliang_tbl ORDER BY submission_date ASC; +-----------+---------------+---------------+-----------------+ | chenweiliang_id | chenweiliang_title | chenweiliang_author | submission_date | +-----------+---------------+---------------+-----------------+ | 3 | 学习 Java | chenweiliang.com | 2015-05-01 | | 4 | 学习 Python | chenweiliang.com | 2016-03-06 | | 1 | 学习 PHP | 陈沩亮博客 | 2017-04-12 | | 2 | 学习 MySQL | 陈沩亮博客 | 2017-04-12 | +-----------+---------------+---------------+-----------------+ 4 rows in set (0.01 sec) mysql> SELECT * from chenweiliang_tbl ORDER BY submission_date DESC; +-----------+---------------+---------------+-----------------+ | chenweiliang_id | chenweiliang_title | chenweiliang_author | submission_date | +-----------+---------------+---------------+-----------------+ | 1 | 学习 PHP | 陈沩亮博客 | 2017-04-12 | | 2 | 学习 MySQL | 陈沩亮博客 | 2017-04-12 | | 4 | 学习 Python | chenweiliang.com | 2016-03-06 | | 3 | 学习 Java | chenweiliang.com | 2015-05-01 | +-----------+---------------+---------------+-----------------+ 4 rows in set (0.01 sec)
Lesen Sie alle Daten in der Tabelle „chenweiliang_tbl“ und sortieren Sie sie in aufsteigender Reihenfolge nach dem Feld „submission_date“.
Verwenden der ORDER BY-Klausel in einem PHP-Skript
Sie können die PHP-Funktion mysqli_query() und denselben SQL-SELECT-Befehl mit einer ORDER BY-Klausel verwenden, um die Daten abzurufen.
Diese Funktion wird verwendet, um SQL-Befehle auszuführen und dann alle abgefragten Daten über die PHP-Funktion mysqli_fetch_array() auszugeben.
Beispiel
Probieren Sie das folgende Beispiel aus, die abgefragten Daten werden in absteigender Reihenfolge des Felds „submission_date“ zurückgegeben.
MySQL ORDER BY-Test:
<?
php
$dbhost = 'localhost:3306'; // mysql服务器主机地址
$dbuser = 'root'; // mysql用户名
$dbpass = '123456'; // mysql用户名密码
$conn = mysqli_connect($dbhost, $dbuser, $dbpass);
if(! $conn )
{
die('连接失败: ' . mysqli_error($conn));
}
// 设置编码,防止中文乱码
mysqli_query($conn , "set names utf8");
$sql = 'SELECT chenweiliang_id, chenweiliang_title,
chenweiliang_author, submission_date
FROM chenweiliang_tbl
ORDER BY submission_date ASC';
mysqli_select_db( $conn, 'chenweiliang' );
$retval = mysqli_query( $conn, $sql );
if(! $retval )
{
die('无法读取数据: ' . mysqli_error($conn));
}
echo '<h2>陈沩亮博客 MySQL ORDER BY 测试<h2>';
echo '<table border="1"><tr><td>教程 ID</td><td>标题</td><td>作者</td><td>提交日期</td></tr>';
while($row = mysqli_fetch_array($retval, MYSQL_ASSOC))
{
echo "<tr><td> {$row['chenweiliang_id']}</td> ".
"<td>{$row['chenweiliang_title']} </td> ".
"<td>{$row['chenweiliang_author']} </td> ".
"<td>{$row['submission_date']} </td> ".
"</tr>";
}
echo '</table>';
mysqli_close($conn);
?>Hoffnung Chen Weiliang Blog ( https://www.chenweiliang.com/ ) freigegeben „MySQL-Bedingte Sortierung mit mehreren Feldern? MySQL-Reihenfolge nach absteigender und aufsteigender Abfrageanweisung/-funktion“, was für Sie hilfreich ist.
Willkommen, um den Link dieses Artikels zu teilen:https://www.chenweiliang.com/cwl-476.html
Um weitere versteckte Tricks freizuschalten🔑, treten Sie unserem Telegram-Kanal bei!
Teilen und liken, wenn es Ihnen gefällt! Ihre Shares und Likes sind unsere ständige Motivation!