order by 指定排序 两种方式
| id | name | age | sex | class |
|---|---|---|---|---|
| 1 | 张三 | 12 | 男 | 班级1 |
| – | – | – | – | – |
| 2 | 李四 | 15 | 男 | 班级3 |
| – | – | – | – | – |
| 3 | 王五 | 26 | 男 | 班级2 |
| – | – | – | – | – |
| 4 | 赵六 | 17 | 男 | 班级4 |
| – | – | – | – | – |
| 5 | 陈七 | 18 | 男 | 班级6 |
| – | – | – | – | – |
| 6 | 王八 | 19 | 男 | 班级5 |
第一种方式 decode
select u.ID,u.name,u.age,u.sex from user u where sex=‘男’ order by decode(u.NAME,'张三 ',1,‘李四’,2,‘王五’,3,‘赵六’,4,‘陈七’,5,‘王八’,6)
第二种方式 instr 按截取后的字符串 在字符串的所在位置进行排序
select u.ID,u.name,u.age,u.sex from user u order by instr( ‘1,2,3,4,5,6’,substr(rtrim(u.class),3,3));
#rtrim() 去掉空格后
本文介绍两种SQL排序方法:使用DECODE函数和INSTR函数实现特定排序需求。通过具体示例,展示了如何根据不同字段值进行定制化排序,适用于数据库管理和数据处理场景。
4150

被折叠的 条评论
为什么被折叠?



