Artikelgids
MySQLMulti-veld voorwaardelike sortering?MySQL orden deur dalende en stygende navraagstelling/funksie
MySQL sorteer
Ons weet om SQL SELECT-stelling te gebruik om data van MySQL-tabel te lees.
As ons die leesdata moet sorteer, kan ons MySQL's gebruik BESTEL BY klousule om te stel watter veld jy op watter manier wil sorteer, en gee dan die soekresultate terug.
grammatika
Die volgende is 'n SQL SELECT-stelling wat die ORDER BY-klousule gebruik om die navraagdata te sorteer voordat die data teruggestuur word:
SELECT field1, field2,...fieldN table_name1, table_name2... ORDER BY field1, [field2...] [ASC [DESC]]
- Jy kan enige veld as 'n sorteervoorwaarde gebruik om gesorteerde navraagresultate terug te gee.
- Jy kan verskeie velde stel om te sorteer.
- Jy kan die ASC- of DESC-sleutelwoorde gebruik om die navraagresultate te stel om in stygende of dalende volgorde gesorteer te word.By verstek is dit in stygende volgorde.
- Jy kan WHERE...LIKE klousules byvoeg om voorwaardes te stel.
Gebruik die ORDER BY-klousule in die opdragprompt
Die volgende sal die ORDER BY-klousule in die SQL SELECT-stelling gebruik om die data in die MySQL-datatabel chenweiliang_tbl te lees:
Instansie
Probeer die voorbeelde hieronder en die resultate sal in stygende en dalende volgorde gesorteer word.
SQL sorteer
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)
Lees al die data in die chenweiliang_tbl-tabel en sorteer in stygende volgorde volgens die submission_date-veld.
Gebruik die ORDER BY-klousule in 'n PHP-skrip
Jy kan die PHP-funksie mysqli_query() en dieselfde SQL SELECT-opdrag met 'n ORDER BY-klousule gebruik om die data te kry.
Hierdie funksie word gebruik om SQL-opdragte uit te voer en dan al die navraag data uit te voer deur die PHP-funksie mysqli_fetch_array().
Instansie
Probeer die volgende voorbeeld, die navraag data word in dalende volgorde van die indieningsdatum-veld teruggestuur.
MySQL BESTELLING PER toets:
<?
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);
?>Hoop Chen Weiliang Blog ( https://www.chenweiliang.com/ ) gedeel "MySQL multi-veld voorwaardelike sortering? MySQL volgorde deur dalende en stygende navraagstelling/funksie", wat vir jou nuttig is.
Welkom om die skakel van hierdie artikel te deel:https://www.chenweiliang.com/cwl-476.html
Om meer versteekte truuks🔑 te ontsluit, welkom om by ons Telegram-kanaal aan te sluit!
Share en like as jy daarvan hou! Jou shares en likes is ons voortdurende motivering!