如果需要對讀取的資料進行排序,就可以使用 MySQL 的 ORDER BY 子句來設定你想按哪個欄位哪種方式來進行排序,再返回搜尋結果。
以下是SQL SELECT 語句使用ORDER BY 子句將查詢資料排序後再回傳資料:
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 資料表runoob_tbl 中的資料:
嘗試下列實例,結果會按升序排列
MariaDB [RUNOOB]> SELECT * 從 runoob_tbl ORDER BY runoob_author ASC;+-----------+--------------+------- --------+-----------------+
| runoob_id | runoob_title | runoob_author | submission_date |
+----------- +--------------+---------------+-----------------+
| 2 | Learn MySQL | Abdul S | 2016-11-26 |
| 6 |
| 1 | Learn PHP | John Poul | 2016-11-26 |
+-- ---------+--------------+---------------+--------- --------+
3 rows in set (0.00 sec)
MariaDB [RUNOOB]> SELECT * 從 runoob_tbl ORDER BY runoob_author DESC;
+-----------+-- ------------+---------------+-----------------+
| runoob_id | runoob_title | runoob_author | submission_date |
+-----------+--------------+-------------- -+-----------------+
| 1 | Learn PHP | John Poul | 2016-11-26 |
| 11-26 |
| 2 | Learn MySQL | Abdul S | 2016-11-26 |
+-----------+----------+----- ----------+-----------------+
3 rows in set (0.00 sec)
$sql ='SELECT run
runoob_author, submission_date FROM runoob_tbl ORDER BY runoob_author DESC'; mysql_select_db('RUNOOB');{
die(' Could not get data: '. mysql_error());
}
while($row = mysql_fetch_array($retval, MYSQL_ASSOC))
{
. br> ".
"Title: {$row['runoob_title']}
".
"Author: {$row['runoob_author']}
".
"Submission Date : {$ row['submission_date']}
".
"--------------------------------
";
}
echo "Fetched data successfullyn";
mysql_close($conn);
?>
運行結果
?>
運行結果