PHP中ORDER BY子句的详细用法教程
程序员文章站
2024-02-29 15:39:04
我们已经看到sql select命令来获取数据从mysql表。当选择行,mysql服务器是*返回,除非指示说如何排序结果否则它会*返回。指定需要结果集增加一个order...
我们已经看到sql select命令来获取数据从mysql表。当选择行,mysql服务器是*返回,除非指示说如何排序结果否则它会*返回。指定需要结果集增加一个order by子句要作为排序依据的列或列名进行排序。
语法:
select field1, field2,...fieldn table_name1, table_name2... order by field1, [field2...] [asc [desc]]
这里是通用的sql的select命令的语法,order by子句从mysql表中的数据进行排序:
- 您可以根据返回的结果的任何字段,提交将被列出。
- 您可以对多个字段进行排序结果。
- 您可以使用关键字asc或desc,升序或降序排列得到的结果。默认情况下它的升序排列。
- 您可以使用where ... like子句中通常的方式添加条件。
在命令提示符下使用order by子句:
这将使用sql select命令来从mysql表tutorials_tbl表中获取数据order by子句
实例:
试试下面的示例升序返回结果。
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子句:
可以使用类似的语法的order by子句到php函数mysql_query()。这个函数是用来执行sql命令后,另一个php函数mysql_fetch_array()可以用来获取所有选定的数据。
例子:
试试下面的示例教程作者降序返回结果。
<?php $dbhost = 'localhost:3036'; $dbuser = 'root'; $dbpass = 'rootpassword'; $conn = mysql_connect($dbhost, $dbuser, $dbpass); if(! $conn ) { die('could not connect: ' . mysql_error()); } $sql = 'select tutorial_id, tutorial_title, tutorial_author, submission_date from tutorials_tbl order by tutorial_author desc'; mysql_select_db('tutorials'); $retval = mysql_query( $sql, $conn ); if(! $retval ) { die('could not get data: ' . mysql_error()); } while($row = mysql_fetch_array($retval, mysql_assoc)) { echo "tutorial id :{$row['tutorial_id']} <br> ". "title: {$row['tutorial_title']} <br> ". "author: {$row['tutorial_author']} <br> ". "submission date : {$row['submission_date']} <br> ". "--------------------------------<br>"; } echo "fetched data successfully\n"; mysql_close($conn); ?>