sql 中的order by 排序
http://www.forasp.cn/ 2023/4/6 13:32:40 点击:不统计
在使用mysql数据库中,经常用到排序,今天我么对sql中的order by 排序,总结一下,基本吧所有的排序都会讲到。
我们假定有表
student_score 如下:
+------+--------+------------+-------+
| id | name | class_name | score |
+------+--------+------------+-------+
| 1 | 张三 | 数学 | 70 |
| 2 | 李四 | 语文 | 81 |
| 3 | 王武 | 数学 | 98 |
| 4 | 张三 | 语文 | 56 |
+------+--------+------------+-------+
1. 排序规则
ASC 升序;DESC 降序;
每个排序必有一个主排序规则,依次比较第二,第三个排序规则
默认排序:主键正序ASC排序;默认顺序为:主键 > 唯⼀索引 > 普通索引
2. 单字段排序。 比如按照上表 按照分数降序进行排序
select * from student_score order by score desc
3. 多字段排序, 按照姓名,分数降序 进行 排序
select * from student_score order by name,score desc
按照姓名降序,分数升序 进行 排序
select * from student_score order by name desc,score asc
4. 自定义排序,按照 张三 李四 王武 自定义排序
select * from student_score order by Field('name','张三,李四,王武')
5. 表达式排序, 按照平均值进行降序排序
select name ,avg(score) as pingjun from student_score order by pingjun desc
·上一篇:mysql 优化 >> ·下一篇:mysql mysqldump按字段导出数据 >>