我们知道从 MySQL 表中使用 SQL SELECT 语句来读取数据。
如果我们需要对读取的数据进行排序,我们就可以使用 MySQL 的 ORDER BY 子句来设定你想按哪个字段哪种方式来进行排序,再返回搜索结果。
- 语法
- 你可以使用任何字段来作为排序的条件,从而返回排序后的查询结果。
- 你可以设定多个字段来排序。
- 你可以使用 ASC 或 DESC 关键字来设置查询结果是按升序或降序排列。 默认情况下,它是按升序排列。
- 你可以添加 WHERE…LIKE 子句来设置条件。
order by 字段 asc | desc;
asc --代表升序(默认值)
desc --代表降序
- 注意
order by 自己放在select的语句末尾
select * from xx where xx order by xx;
案例
对数学成绩排序后输出
select username,math from stu order by math asc; --默认是升序
select username.math from stu order by math desc;
对总分排序按从高到低的顺序输出
select username,(math+english+chinese) from stu order by (math+english+chinese) desc
select username,(math+english+chinese) as t from stu order by t desc;
对学生成绩按照英语进行降序排序,英语相同的同学按照数学降序
select username,english,math from stu order by english desc,math desc;
select username,english,math from stu order by english desc,math asc;
对姓小的学生语文成绩升序排序输出
select username,chinese from stu where username like '小%' order by chinese asc;