有个时候单纯的 order by asc/desc还远远不能满足需求,比如一张审批表 有个 status字段,它可能的值有 100(未读), 200(同意),300(驳回),-100(由他人同意)....等等之类,那我们可能会有个需求就是,不管怎么样,把所有未读的审批单都排在前面,后面怎么排无所谓,这个时候可以使用 field函数,用法举例
select * from table_name order by field(status, 100) desc, status
mysql field 函数官方文档:https://dev.mysql.com/doc/refman/5.5/en/string-functions.html#function_field