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