按MYSQL中的特定列排序,具有额外条件

时间:2016-05-27 06:24:30

标签: php mysql sql sql-order-by

有一张桌子

Teacher
--------
id
name
country_id

我可以只使用order by country_id asc订购教师,但是,如何提供特定的ID然后按顺序排序?

例如,我希望country_id 3的结果是第一个,这意味着如果有国家ID 1或2,它们应该在国家ID 3之后

e.g. 

teacherA 3
teacherB 3
teacherC 1
teacherD 4
etc..

非常感谢

2 个答案:

答案 0 :(得分:1)

试试这个:

ORDER BY IF(country_id = 3, 0, 1),
         country_id 

答案 1 :(得分:1)

我建议你使用Field()。 它将类似于按字段排序(country_id,3,2),这将为您提供国家ID,首先是3,然后是国家ID 2,然后其他所有内容都将被订购。