我有这样的表
id name
1 John
2 Mike
3 Zed
4 Teacher
5 Aaron
...........
如何使mysql查询按名称以ASC顺序获取行,但将“Teacher”放在顶部或以“Teacher”开头的内容?
答案 0 :(得分:11)
select * from your_table
order by case when name = 'Teacher' then 1 else 2 end,
name
对于MySQL,以下是有效的,因为它返回0
的{{1}}和false
的{{1}}
1
答案 1 :(得分:0)
使用FIELD功能
SELECT * FROM table ORDER BY FIELD(`name`,'Teacher') ASC
答案 2 :(得分:0)
select * from table order by case when name like "Teacher%" then 1 else 2 end,name
从教师开始的名称将按字母顺序排序,然后是其他名称。 实施例
Teacher
Teacher Aaron
Teacher Zed
Aaron
Zed