Direktori Artikel
Pengisihan berbilang medan MySQL ? Pernyataan/fungsi pertanyaan MySQL ORDER BY tertib menurun/menaik
jenis MySQL
Kami tahu menggunakan pernyataan SQL SELECT untuk membaca data daripada jadual MySQL.
Jika kita perlu menyusun data yang telah dibaca, kita boleh menggunakan klausa ORDER BY MySQL untuk menentukan medan dan kaedah penyusunan yang ingin kita gunakan, dan kemudian mengembalikan hasil carian.
tatabahasa
Berikut ialah pernyataan SQL SELECT yang menggunakan klausa ORDER BY untuk mengisih data pertanyaan sebelum mengembalikan data:
SELECT field1, field2,...fieldN table_name1, table_name2... ORDER BY field1, [field2...] [ASC [DESC]]
- Anda boleh menggunakan mana-mana medan sebagai syarat isihan untuk mengembalikan hasil pertanyaan yang diisih.
- Anda boleh menetapkan berbilang medan untuk diisih.
- Anda boleh menggunakan kata kunci ASC atau DESC untuk menetapkan hasil pertanyaan untuk diisih dalam tertib menaik atau menurun.Secara lalai, ia adalah dalam tertib menaik.
- Anda boleh menambah klausa WHERE...LIKE untuk menetapkan syarat.
Menggunakan klausa ORDER BY dalam command prompt
Yang berikut akan menggunakan klausa ORDER BY dalam pernyataan SQL SELECT untuk membaca data dalam jadual data MySQL chenweiliang_tbl:
contoh
Cuba contoh di bawah dan hasilnya akan diisih mengikut tertib menaik dan menurun.
jenis 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)
Baca semua data dalam jadual chenweiliang_tbl dan isikan dalam tertib menaik mengikut medan tarikh_serahan.
Menggunakan klausa ORDER BY dalam skrip PHP
Anda boleh menggunakan fungsi PHP mysqli_query() dan perintah SQL SELECT yang sama dengan klausa ORDER BY untuk mendapatkan data.
Fungsi ini digunakan untuk melaksanakan perintah SQL dan kemudian mengeluarkan semua data yang ditanya melalui fungsi PHP mysqli_fetch_array().
contoh
Cuba contoh berikut, data yang ditanya dikembalikan dalam susunan menurun bagi medan tarikh_serah.
MySQL ORDER OLEH ujian:
<?
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);
?>Semoga artikel "Pengisihan Keadaan Berbilang Medan MySQL? Pernyataan/Fungsi Pertanyaan Tertib Menurun/Menaik MySQL" yang dikongsikan di blog Chen Weiliang ( https://www.chenweiliang.com/ ) dapat membantu anda.
Jangan ragu untuk berkongsi pautan artikel ini: https://www.chenweiliang.com/cwl-476.html
