MySQL-г олон талбарт нөхцөлт эрэмбэлэх үү? MySQL-г өсөх асуулгын мэдэгдэл/функцээр эрэмбэлэх үү?

MySQL олон талбарт эрэмбэлэх үү? MySQL- ийн эрэмбэлэх дарааллаар буурах/өсөх дарааллаар лавлагааны мэдэгдэл/функц

MySQL төрөл

MySQL хүснэгтээс өгөгдлийг уншихын тулд бид SQL SELECT мэдэгдлийг ашиглахаа мэддэг.

Хэрэв бид уншсан өгөгдлийг эрэмбэлэх шаардлагатай бол MySQL-ийн ORDER BY заалтыг ашиглан аль талбар болон эрэмбэлэх аргыг ашиглахаа тодорхойлж, дараа нь хайлтын үр дүнг буцаан өгч болно.

дүрэм

Дараах нь өгөгдлийг буцаахаас өмнө асуулгын өгөгдлийг эрэмбэлэхийн тулд ORDER BY заалтыг ашигладаг SQL SELECT мэдэгдэл юм.

SELECT field1, field2,...fieldN table_name1, table_name2...
ORDER BY field1, [field2...] [ASC [DESC]]
  • Та эрэмбэлэгдсэн асуулгын үр дүнг буцаахын тулд ямар ч талбарыг эрэмбэлэх нөхцөл болгон ашиглаж болно.
  • Та олон талбарыг эрэмбэлэх боломжтой.
  • Асуулгын үр дүнг өсөх эсвэл буурах дарааллаар эрэмбэлэхийн тулд та ASC эсвэл DESC түлхүүр үгсийг ашиглаж болно.Анхдагч байдлаар, энэ нь өсөх дарааллаар байна.
  • Нөхцөл тохируулахын тулд та WHERE...LIKE заалтуудыг нэмж болно.

Тушаал хүлээх мөрөнд ORDER BY заалтыг ашиглана уу

Дараах нь MySQL өгөгдлийн хүснэгт chenweiliang_tbl дахь өгөгдлийг уншихын тулд SQL SELECT мэдэгдлийн ORDER BY заалтыг ашиглана:

жишээ

Доорх жишээнүүдийг туршиж үзээрэй, үр дүнг өсөх, буурах дарааллаар эрэмбэлэх болно.

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 хүснэгт дэх бүх өгөгдлийг уншаад, илгээх_огнооны талбараар өсөх дарааллаар эрэмбэлнэ үү.


PHP скрипт дэх ORDER BY заалтыг ашиглах

Та өгөгдлийг авахын тулд PHP функц mysqli_query() болон ижил SQL SELECT командыг ORDER BY заалттай ашиглаж болно.

Энэ функц нь SQL командуудыг гүйцэтгэх ба дараа нь PHP функцээр mysqli_fetch_array()-аар дамжуулан асуусан бүх өгөгдлийг гаргахад хэрэглэгддэг.

жишээ

Дараах жишээг туршаад үзээрэй, асуусан өгөгдлийг илгээх_огноо талбарын буурах дарааллаар буцаана.

MySQL-г тестээр захиалах:

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

Чен Вэйлиангийн блог ( https://www.chenweiliang.com/ ) дээр хуваалцсан "MySQL Олон талбарын нөхцөлт эрэмбэлэлт үү? MySQL-ийн ORDER BY Буурах/Өсөх дарааллын асуулгын мэдэгдэл/функц" нийтлэл танд тус болно гэж найдаж байна.

Энэ нийтлэлийн холбоосыг хуваалцахаас бүү эргэлзээрэй: https://www.chenweiliang.com/cwl-476.html

Илүү олон далд заль мэхийг нээхийн тулд манай Telegram сувагт нэгдэнэ үү!

Хэрэв танд таалагдвал лайк дарж, хуваалцаарай! Таны шэйр, лайк бол бидний байнгын урам зориг юм!

 

发表 评论

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

TOP хүртэл гүйлгэж