Mysql order by field自定义排序的使用
前段时间在工作中遇到一个sql自定义排序的问题,当时用order by 和 group by 都不能满足我的需求,经过查找资料发现,order by field可以实现自定义排序,下面写个小栗子给大家示范一下:
表结构 学生表:
stuid | stuname | major |
---|---|---|
stu001 | 小明 | 计算机科学与技术 |
stu002 | 小刚 | 计算机科学与技术 |
stu003 | 小红 | 电子信息工程 |
stu004 | 小龙 | 物联网工程 |
stu005 | 小江 | 英语 |
需求:
- 根据上表,查询所有的学生信息并按照major(“英语”,”计算机科学与技术”,”电子信息工程”,”物联网工程”)的顺序输出。
SQL语句
SELECT
*
FROM
student
ORDER BY FIELD(
major,
"英语",
"计算机科学与技术",
"电子信息工程",
"物联网工程"
)
- 效果展示