Artikel Directory
MySQLFlerfelts betinget sortering?MySQL rækkefølge efter faldende og stigende forespørgselssætning/funktion
MySQL sortering
Vi ved at bruge SQL SELECT-sætning til at læse data fra MySQL-tabellen.
Hvis vi skal sortere de læste data, kan vi bruge MySQL'er BESTIL BY klausul for at angive, hvilket felt du vil sortere efter hvilken måde, og derefter returnere søgeresultaterne.
grammatik
Følgende er en SQL SELECT-sætning, der bruger ORDER BY-sætningen til at sortere forespørgselsdataene, før de returnerer dataene:
SELECT field1, field2,...fieldN table_name1, table_name2... ORDER BY field1, [field2...] [ASC [DESC]]
- Du kan bruge et hvilket som helst felt som sorteringsbetingelse for at returnere sorterede forespørgselsresultater.
- Du kan indstille flere felter til at sortere.
- Du kan bruge nøgleordene ASC eller DESC til at indstille forespørgselsresultaterne til at blive sorteret i stigende eller faldende rækkefølge.Som standard er den i stigende rækkefølge.
- Du kan tilføje WHERE...LIKE-sætninger for at sætte betingelser.
Brug af ORDER BY-sætningen i kommandoprompten
Følgende vil bruge ORDER BY-sætningen i SQL SELECT-sætningen til at læse dataene i MySQL-datatabellen chenweiliang_tbl:
Instans
Prøv eksemplerne nedenfor, og resultaterne vil blive sorteret i stigende og faldende rækkefølge.
SQL sortering
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)
Læs alle data i chenweiliang_tbl-tabellen og sorter i stigende rækkefølge efter feltet submission_date.
Brug af ORDER BY-klausulen i et PHP-script
Du kan bruge PHP-funktionen mysqli_query() og den samme SQL SELECT-kommando med en ORDER BY-klausul for at hente dataene.
Denne funktion bruges til at udføre SQL-kommandoer og derefter udlæse alle de forespurgte data gennem PHP-funktionen mysqli_fetch_array().
Instans
Prøv følgende eksempel, de forespurgte data returneres i faldende rækkefølge af feltet submission_date.
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);
?>Hope Chen Weiliang Blog ( https://www.chenweiliang.com/ ) delte "MySQL multi-field betinget sortering? MySQL rækkefølge ved faldende og stigende forespørgselssætning/funktion", hvilket er nyttigt for dig.
Velkommen til at dele linket til denne artikel:https://www.chenweiliang.com/cwl-476.html
For at låse op for flere skjulte tricks🔑, velkommen til at blive en del af vores Telegram-kanal!
Del og like hvis du kan lide det! Dine delinger og likes er vores fortsatte motivation!