Artikulo Direktoryo
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
