📜  MySQL-排序结果

📅  最后修改于: 2020-11-27 06:36:32             🧑  作者: Mango


我们已经看到了SQL SELECT命令从MySQL表中获取数据。当您选择行时,MySQL服务器可以自由以任何顺序返回它们,除非您通过说出如何对结果排序来另外指示。但是,您可以通过添加一个ORDER BY子句对结果集进行排序,该子句为要排序的一个或多个列命名。

句法

以下代码块是SELECT命令的通用SQL语法,以及用于对MySQL表中的数据进行排序的ORDER BY子句。

SELECT field1, field2,...fieldN table_name1, table_name2...
ORDER BY field1, [field2...] [ASC [DESC]]
  • 如果列出了该字段,则可以在任何字段上对返回的结果进行排序。

  • 您可以在多个字段上对结果进行排序。

  • 您可以使用关键字ASC或DESC来获得结果的升序或降序。默认情况下,这是升序。

  • 您可以按常规方式使用WHERE … LIKE子句来放置条件。

在命令提示符处使用ORDER BY子句

这将使用带有SELECT ORDER BY子句的SQL SELECT命令从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子句的语法。该函数用于执行SQL命令,以后可以使用另一个PHP函数mysql_fetch_array()来获取所有选定的数据。

尝试以下示例,该示例按教程作者的降序返回结果。

 ".
         "Title: {$row['tutorial_title']} 
". "Author: {$row['tutorial_author']}
". "Submission Date : {$row['submission_date']}
". "--------------------------------
"; } echo "Fetched data successfully\n"; mysql_close($conn); ?>