查询结果按自己的规则排序

MySQL order by排序中,大多数情况下仅使用默认排序规则就够了:字符串按字典顺序,数字按大小等等。可有时候,某个字段是有自身业务含义的,比如 type(1,2,3)可能表示早/中/晚,如果我想把中午信息靠前,这时候普通的升降序排列就不好办了。 
field(column,value1,value2,value3,……)是解决这种问题的利器。 

column代表要排序的列,value1…… 代表自定义的顺序:order by field(type,2,3,1)就是按2在前,3次之,1最后的顺序来排。查询结果按自己的规则排序

ok,type=2的结果靠前了。 

当然,如果排序列是字符串类型的,也可以按此逻辑,至于其他类型,自己探索去吧