📜  MySQLi-排序结果

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


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

句法

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

SELECT field1, field2,...fieldN table_name1, table_name2...
ORDER BY field1, [field2...] [ASC [DESC]]
  • 您可以在列出的字段中对任何字段排序返回的结果。

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

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

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

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

这将使用带有SELECT OR子句的SQL SELECT命令从MySQLi表tutorials_inf中获取数据。

试用以下示例,该示例以降序返回结果。

root@host# mysql -u root -p password;
Enter password:*******

mysql> use TUTORIALS;
Database changed

mysql> SELECT * from tutorials_inf ORDER BY id desc;
+----+-------+
| id | name  |
+----+-------+
|  4 | ram   |
|  3 | raghu |
|  2 | johar |
|  1 | sai   |
+----+-------+
4 rows in set (0.00 sec)

mysql>

验证所有ID的降序排列。

在PHP脚本中使用ORDER BY子句

您可以在PHP函数mysqli_query()中使用类似ORDER BY子句的语法。该函数用于执行SQL命令,以后可以使用另一个PHP函数mysqli_fetch_array()来获取所有选定数据。

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

';
   $sql = 'SELECT * from tutorials_inf ORDER BY id desc';
   
   if($result = mysqli_query($conn, $sql)){
      if(mysqli_num_rows($result) > 0){
         echo "";
         echo "";
         echo "";
         echo "";
         echo "";
         
         while($row = mysqli_fetch_array($result)){
            echo "";
            echo "";
            echo "";
            echo "";
         }
         echo "
idname
" . $row['id'] . "" . $row['name'] . "
"; mysqli_free_result($result); } else { echo "No records matching your query were found."; } } else { echo "ERROR: Could not able to execute $sql. " . mysqli_error($conn); } mysqli_close($conn); ?>

样本输出应该像这样-

Connected successfully
id    name
4    ram
3    raghu
2    johar
1    sai