MySQL multi-field conditional sorting? MySQL order sa pamamagitan ng pababang pataas na query statement/function

Pag-uuri ng maraming patlang sa MySQL ? Pahayag/function ng query sa MySQL na ORDER BY descending/scending order

Pag-uuri ng MySQL

Alam naming gumamit ng SQL SELECT statement para magbasa ng data mula sa MySQL table.

Kung kailangan nating ayusin ang nabasang datos, maaari nating gamitin ang ORDER BY clause ng MySQL upang tukuyin kung aling field at sorting method ang gusto nating gamitin, at pagkatapos ay ibalik ang mga resulta ng paghahanap.

gramatika

Ang sumusunod ay isang SQL SELECT statement na gumagamit ng ORDER BY clause para pagbukud-bukurin ang query data bago ibalik ang data:

SELECT field1, field2,...fieldN table_name1, table_name2...
ORDER BY field1, [field2...] [ASC [DESC]]
  • Maaari mong gamitin ang anumang field bilang kondisyon ng pag-uuri upang ibalik ang mga resulta ng pinagsunod-sunod na query.
  • Maaari kang magtakda ng maramihang mga patlang upang pagbukud-bukurin.
  • Maaari mong gamitin ang ASC o DESC na mga keyword upang itakda ang mga resulta ng query na pagbukud-bukurin sa pataas o pababang pagkakasunud-sunod.Bilang default, ito ay nasa pataas na pagkakasunud-sunod.
  • Maaari kang magdagdag ng WHERE...LIKE clause para magtakda ng mga kundisyon.

Gamit ang ORDER BY clause sa command prompt

Ang sumusunod ay gagamit ng ORDER BY clause sa SQL SELECT statement para basahin ang data sa MySQL data table chenweiliang_tbl:

Pangyayari

Subukan ang mga halimbawa sa ibaba at ang mga resulta ay pagbukud-bukurin sa pataas at pababang pagkakasunud-sunod.

Pag-uuri ng SQL

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)

Basahin ang lahat ng data sa talahanayan ng chenweiliang_tbl at pagbukud-bukurin sa pataas na pagkakasunud-sunod ayon sa field ng submission_date.


Gamit ang ORDER BY clause sa isang PHP script

Maaari mong gamitin ang PHP function na mysqli_query() at ang parehong SQL SELECT command na may ORDER BY clause para makuha ang data.

Ginagamit ang function na ito upang magsagawa ng mga SQL command at pagkatapos ay i-output ang lahat ng na-query na data sa pamamagitan ng PHP function na mysqli_fetch_array().

Pangyayari

Subukan ang sumusunod na halimbawa, ang na-query na data ay ibinalik sa pababang pagkakasunud-sunod ng field ng submission_date.

MySQL ORDER NG pagsubok:

<?
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);
?>

Sana ay makatulong sa iyo ang artikulong "MySQL Multi-Field Condition Sorting? MySQL ORDER BY Descending/Ascending Order Query Statement/Function" na ibinahagi sa blog ni Chen Weiliang ( https://www.chenweiliang.com/ ).

Huwag mag-atubiling ibahagi ang link ng artikulong ito: https://www.chenweiliang.com/cwl-476.html

Upang i-unlock ang higit pang mga nakatagong trick🔑, maligayang pagdating sa aming Telegram channel!

Share and like kung nagustuhan mo! Ang iyong mga pagbabahagi at pag-like ay ang aming patuloy na pagganyak!

 

发表 评论

您的邮箱地址不会被公开。必填项已用*标注

Mag-scroll sa Tuktok