📅  最后修改于: 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子句来放置条件。
这将使用带有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函数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 "id ";
echo "name ";
echo " ";
while($row = mysqli_fetch_array($result)){
echo "";
echo "" . $row['id'] . " ";
echo "" . $row['name'] . " ";
echo " ";
}
echo "
";
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