PHP MySQL 排序依据

PHP MySQL Order By 关键词

ORDER BY 关键词用于对记录集中的数据进行排序。

ORDER BY 关键词

ORDER BY 关键词用于对记录集中的数据进行排序。

ORDER BY 关键词默认对记录进行升序排序。

如果你想降序排序,请使用 DESC 关键字。

语法

SELECT column_name(s)

FROM table_name

ORDER BY column_name(s) ASC|DESC


这里在说下GROUP BY的用法:

GROUP BY最大的作用是与COUNT配合使用

SELECT city, COUNT(city) FROM cv GROUP BY city;

上面的语句可以统计出,每个城市的简历的数量,一定要注意,你GROUP BY什么字段,才可以去COUNT哪个字段


简单介绍LIMIT用法:

SELECT col_name FROM tbl_name LIMIT offset, rows;

•offset:从符合条件的所有记录的第几条开始取数据  •rows:取多少条数据  

从第1条记录(0)开始取5条记录

SELECT * FROM cv LIMIT 5;

SELECT * FROM cv LIMIT 0, 5;

从第6条记录(5)开始取5条记录

SELECT * FROM cv LIMIT 5, 5;


顺便提一下having的用法:

having只能使用在group by之后,用来对分组的结果进行再筛选

SELECT city, COUNT(city) FROM cv GROUP BY city HAVING COUNT(city) > 2;

上面的语句表示,先按城市进行分组,将分组的结果再按数量超过2的条件进行过滤

注意,因为是对结果再筛选,HAVING里使用的字段必须是在SELECT中查询结果中包含的字段,也就是说前面的语句中,只有city字段可以作为having的筛选条件,使用其他字段则会提示未知字段


having和where的区别:

SELECT name FROM cv WHERE age > 20 GROUP BY city;

上面的语句表示,先按age>20的条件进行查询,再对查询的结果进行分组

两者的区别是先后顺序不同,where是先筛选数据,having对分组的结果进行筛选

实例

下面的实例选取 "Persons" 表中存储的所有数据,并根据 "Age" 列对结果进行排序:

<?php
$con=mysqli_connect("localhost","username","password","database");
// 检测连接
if (mysqli_connect_errno())
{
         echo "连接失败: " . mysqli_connect_error();
}
 
$result = mysqli_query($con,"SELECT * FROM Persons ORDER BY age");
 
while($row = mysqli_fetch_array($result))
{
         echo $row['FirstName'];
         echo " " . $row['LastName'];
         echo " " . $row['Age'];
         echo "<br>";
}
 
mysqli_close($con);
?>

以上结果将输出:

Glenn Quagmire 33

Peter Griffin 35

 

根据两列进行排序

可以根据多个列进行排序。当按照多个列进行排序时,只有第一列的值相同时才使用第二列:

SELECT column_name(s) FROM table_name ORDER BY column1, column2

 


继续学习
||
<?php $con=mysqli_connect("localhost","username","password","database"); // 检测连接 if (mysqli_connect_errno()) { echo "连接失败: " . mysqli_connect_error(); } $result = mysqli_query($con,"SELECT * FROM Persons ORDER BY age"); while($row = mysqli_fetch_array($result)) { echo $row['FirstName']; echo " " . $row['LastName']; echo " " . $row['Age']; echo "<br>"; } mysqli_close($con); ?>
提交重置代码