ລາຍການຫົວເລື່ອງ
MySQLຈັດຮຽງຕາມຫຼາຍຊ່ອງຂໍ້ມູນ?MySQL ຄໍາສັ່ງໂດຍ descending order ascending order query statement/function
ການຈັດລຽງ MySQL
ພວກເຮົາຮູ້ວ່າຈະໃຊ້ຄໍາສັ່ງ SQL SELECT ເພື່ອອ່ານຂໍ້ມູນຈາກຕາຕະລາງ MySQL.
ຖ້າພວກເຮົາຕ້ອງການຈັດຮຽງຂໍ້ມູນການອ່ານ, ພວກເຮົາສາມາດໃຊ້ MySQL's ສັ່ງໂດຍ ຂໍ້ທີ່ຈະກໍານົດຊ່ອງຂໍ້ມູນແລະວິທີການທີ່ທ່ານຕ້ອງການຈັດລຽງຕາມ, ແລະຫຼັງຈາກນັ້ນກັບຄືນຜົນໄດ້ຮັບການຄົ້ນຫາ.
ໄວຍາກອນ
ຕໍ່ໄປນີ້ແມ່ນຄຳສັ່ງ SQL SELECT ທີ່ໃຊ້ຄຳສັ່ງ ORDER BY ເພື່ອຈັດຮຽງຂໍ້ມູນແບບສອບຖາມກ່ອນສົ່ງຂໍ້ມູນຄືນ:
SELECT field1, field2,...fieldN table_name1, table_name2... ORDER BY field1, [field2...] [ASC [DESC]]
- ທ່ານສາມາດນໍາໃຊ້ພາກສະຫນາມໃດຫນຶ່ງເປັນເງື່ອນໄຂການຈັດລຽງເພື່ອກັບຄືນຜົນໄດ້ຮັບການສອບຖາມຄັດເລືອກ.
- ທ່ານສາມາດຕັ້ງຫຼາຍຊ່ອງເພື່ອຈັດຮຽງຕາມ.
- ທ່ານສາມາດນໍາໃຊ້ຄໍາຫລັກ ASC ຫຼື DESC ເພື່ອກໍານົດຜົນໄດ້ຮັບການສອບຖາມເພື່ອຈັດຮຽງຕາມລໍາດັບຈາກໃຫຍ່ຫານ້ອຍຫຼືໃຫຍ່ຫານ້ອຍ. ໂດຍຄ່າເລີ່ມຕົ້ນ, ມັນຖືກຈັດຮຽງຕາມລໍາດັບ.
- ທ່ານສາມາດເພີ່ມ WHERE…LIKE ປະໂຫຍກເພື່ອກໍານົດເງື່ອນໄຂ.
ການນໍາໃຊ້ ORDER BY clause ໃນຄໍາສັ່ງ
ຕໍ່ໄປນີ້ຈະໃຊ້ ORDER BY clause ໃນຄໍາສັ່ງ SQL SELECT ເພື່ອອ່ານຂໍ້ມູນໃນຕາຕະລາງຂໍ້ມູນ MySQL chenweiliang_tbl:
ຕົວຢ່າງ
ລອງໃຊ້ຕົວຢ່າງຕໍ່ໄປນີ້ ແລະຜົນໄດ້ຮັບຈະຖືກຈັດຮຽງຕາມລຳດັບໃຫຍ່ຫານ້ອຍ.
ການຈັດລຽງ 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)
ອ່ານຂໍ້ມູນທັງໝົດໃນຕາຕະລາງ chenweiliang_tbl ແລະຈັດຮຽງຕາມລຳດັບຈາກນ້ອຍຫາໃຫຍ່ຂອງຊ່ອງ submission_date.
ການນໍາໃຊ້ ORDER BY clause ໃນ script PHP
ທ່ານສາມາດໃຊ້ຟັງຊັນ PHP mysqli_query() ແລະຄໍາສັ່ງ SQL SELECT ດຽວກັນກັບ ORDER BY clause ເພື່ອໃຫ້ໄດ້ຮັບຂໍ້ມູນ.
ຟັງຊັນນີ້ຖືກນໍາໃຊ້ເພື່ອປະຕິບັດຄໍາສັ່ງ SQL ແລະຫຼັງຈາກນັ້ນສົ່ງຂໍ້ມູນທັງຫມົດທີ່ສອບຖາມຜ່ານຟັງຊັນ PHP mysqli_fetch_array().
ຕົວຢ່າງ
ລອງຕົວຢ່າງຕໍ່ໄປນີ້. ຂໍ້ມູນທີ່ຖືກສອບຖາມຈະຖືກສົ່ງຄືນຫຼັງຈາກຖືກຈັດຮຽງຈາກໃຫຍ່ຫານ້ອຍໂດຍຊ່ອງໃສ່ຂໍ້ມູນ submission_date.
MySQL ORDER ໂດຍການທົດສອບ:
<?
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);
?>ຫວັງ Chen Weiliang Blog ( https://www.chenweiliang.com/ ) shared "MySQL multi-field conditional sorting? MySQL order by descending order ascending order query statement/function", ເຊິ່ງເປັນປະໂຫຍດແກ່ທ່ານ.
ຍິນດີຕ້ອນຮັບແບ່ງປັນການເຊື່ອມຕໍ່ຂອງບົດຄວາມນີ້:https://www.chenweiliang.com/cwl-476.html
