mysql自定义排序规则

在使用MySQL数据库时,有时需要对查询出来的结果进行排序,但是有时我们不单单只按照 id 的大小或者字母的前后顺序之类的简单规则进行排序,需要按照一种自己的规则来排序,就可以使用下面的方法:

ORDER BY FIELD(name, ‘李四’, ‘赵六’, ‘张三’, ‘王五’)

使用 ORDER BY FIELD(需要进行排序的字段, ‘条件1’, ‘条件2’, ‘条件3’, ‘条件4’)

SELECT * FROM test
WHERE name IN (‘张三’, ‘李四’, ‘王五’, ‘赵六’)
ORDER BY FIELD(name, ‘李四’, ‘赵六’, ‘张三’, ‘王五’)

下面案例是关联查询排序:

SELECT * FROM t_basic_contract AS B LEFT JOIN t_user_user AS U ON U.user_contractID=B.contract_contractID LEFT JOIN t_user_finance AS F ON F.finance_contractID=B.contract_contractID ORDER BY FIELD(B.contract_status, ‘待审批’, ‘初审通过有疑点’, ‘初审通过无疑点’, ‘家访结束’, ‘电访结束’, ‘待放款’, ‘已放款’, ‘贷后管理’, ‘待补件’, ‘初审未通过’, ‘复审未通过’, ‘财务未通过’, ‘贷后未通过’)

猜你喜欢

转载自blog.csdn.net/qq_37131111/article/details/80773207