MySQL - Сортировка результатов
Мы видели SQL SELECTкоманда для извлечения данных из таблицы MySQL. Когда вы выбираете строки, сервер MySQL может возвращать их в любом порядке, если вы не укажете иное, указав, как отсортировать результат. Но вы сортируете набор результатов, добавляяORDER BY предложение, которое называет столбец или столбцы, которые вы хотите отсортировать.
Синтаксис
Следующий блок кода представляет собой общий синтаксис SQL команды SELECT вместе с предложением ORDER BY для сортировки данных из таблицы MySQL.
SELECT field1, field2,...fieldN table_name1, table_name2...
ORDER BY field1, [field2...] [ASC [DESC]]
Вы можете отсортировать возвращаемый результат по любому полю, если это поле присутствует в списке.
Вы можете отсортировать результат более чем по одному полю.
Вы можете использовать ключевое слово ASC или DESC, чтобы получить результат в порядке возрастания или убывания. По умолчанию это возрастающий порядок.
Вы можете использовать предложение WHERE ... LIKE обычным способом, чтобы поставить условие.
Использование предложения ORDER BY в командной строке
Это будет использовать команду SQL SELECT с ORDER BY предложение для извлечения данных из таблицы MySQL - tutorials_tbl.
пример
Попробуйте следующий пример, который возвращает результат в порядке возрастания.
root@host# mysql -u root -p password;
Enter password:*******
mysql> use TUTORIALS;
Database changed
mysql> SELECT * from tutorials_tbl ORDER BY tutorial_author ASC
+-------------+----------------+-----------------+-----------------+
| tutorial_id | tutorial_title | tutorial_author | submission_date |
+-------------+----------------+-----------------+-----------------+
| 2 | Learn MySQL | Abdul S | 2007-05-24 |
| 1 | Learn PHP | John Poul | 2007-05-24 |
| 3 | JAVA Tutorial | Sanjay | 2007-05-06 |
+-------------+----------------+-----------------+-----------------+
3 rows in set (0.42 sec)
mysql>
Проверьте имена всех авторов, перечисленные в порядке возрастания.
Использование предложения ORDER BY внутри PHP-скрипта
Вы можете использовать аналогичный синтаксис предложения ORDER BY в функции PHP - mysql_query(). Эта функция используется для выполнения команды SQL, а затем другой функции PHP.mysql_fetch_array() можно использовать для получения всех выбранных данных.
пример
Попробуйте следующий пример, который возвращает результат в порядке убывания авторов учебника.
<?php
$dbhost = 'localhost:3036';
$dbuser = 'root';
$dbpass = 'rootpassword';
$conn = mysql_connect($dbhost, $dbuser, $dbpass);
if(! $conn ) {
die('Could not connect: ' . mysql_error());
}
$sql = 'SELECT tutorial_id, tutorial_title,
tutorial_author, submission_date
FROM tutorials_tbl
ORDER BY tutorial_author DESC';
mysql_select_db('TUTORIALS');
$retval = mysql_query( $sql, $conn );
if(! $retval ) {
die('Could not get data: ' . mysql_error());
}
while($row = mysql_fetch_array($retval, MYSQL_ASSOC)) {
echo "Tutorial ID :{$row['tutorial_id']} <br> ".
"Title: {$row['tutorial_title']} <br> ".
"Author: {$row['tutorial_author']} <br> ".
"Submission Date : {$row['submission_date']} <br> ".
"--------------------------------<br>";
}
echo "Fetched data successfully\n";
mysql_close($conn);
?>