MySQL многополево условно сортиране? MySQL ред чрез низходящ възходящ оператор/функция на заявка

Многополено сортиране в MySQL ? MySQL ORDER BY низходящ/възходящ ред заявка/функция

MySQL сортиране

Знаем да използваме SQL оператор SELECT за четене на данни от MySQL таблица.

Ако трябва да сортираме прочетените данни, можем да използваме клаузата ORDER BY на MySQL , за да укажем кое поле и метод за сортиране искаме да използваме и след това да върнем резултатите от търсенето.

граматика

Следното е SQL оператор SELECT, който използва клаузата ORDER BY за сортиране на данните от заявката, преди да върне данните:

SELECT field1, field2,...fieldN table_name1, table_name2...
ORDER BY field1, [field2...] [ASC [DESC]]
  • Можете да използвате всяко поле като условие за сортиране, за да върнете сортирани резултати от заявка.
  • Можете да зададете няколко полета за сортиране.
  • Можете да използвате ключовите думи ASC или DESC, за да настроите резултатите от заявката да бъдат сортирани във възходящ или низходящ ред.По подразбиране е във възходящ ред.
  • Можете да добавите клаузи WHERE...LIKE, за да зададете условия.

Използване на клаузата ORDER BY в командния ред

Следното ще използва клаузата ORDER BY в оператора 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 в PHP скрипт

Можете да използвате PHP функцията mysqli_query() и същата SQL команда SELECT с клауза ORDER BY, за да получите данните.

Тази функция се използва за изпълнение на SQL команди и след това извеждане на всички заявени данни чрез PHP функцията mysqli_fetch_array().

Инстанция

Опитайте следния пример, заявените данни се връщат в низходящ ред на полето submission_date.

MySQL ORDER BY тест:

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

Надяваме се, че статията „MySQL Multi-Field Condition Sorting? MySQL ORDER BY Descending/Ascending Order Query Statement/Function“, споделена в блога на Чен Вейлианг ( https://www.chenweiliang.com/ ), ще ви бъде полезна.

Чувствайте се свободни да споделите линка към тази статия: https://www.chenweiliang.com/cwl-476.html

За да отключите още скрити трикове🔑, заповядайте в нашия Telegram канал!

Споделете и харесайте, ако ви харесва! Вашите споделяния и харесвания са нашата постоянна мотивация!

 

发表 评论

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

Преминете към Top