集册 MySQL 中文基础教程 MySQL 排序结果

MySQL 排序结果

黑派客     最近更新时间:2020-08-04 05:37:59

537

利用 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>

如上所示,作者名称按照升序排列出来。

在 PHP 脚本中使用 ORDER BY 子句

除了在命令行中使用外,我们也可以在 PHP 函数 mysql_query() 中使用 ORDER BY 子句,两种情况下的语法都是相同的。先用 mysql_query() 执行 SQL 命令,然后再用 PHP 函数 mysql_fetch_array() 获取所有选定的数据。

范例

下面这个范例将按升序排列教程作者名称(tutorial_author)。

展开阅读全文