欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 健康 > 养生 > MySQL自定义排序 —— ORDER BY FIELD

MySQL自定义排序 —— ORDER BY FIELD

2025/6/22 13:37:29 来源:https://blog.csdn.net/yangchao1125/article/details/148807890  浏览:    关键词:MySQL自定义排序 —— ORDER BY FIELD

1、基本语法

SELECT * FROM 表名 ORDER BY FIELD (字段名, 字段值1, 字段值2, 字段值3, ...)

2、使用场景

假设我们有一个账单表(tb_bill),账单的状态(status)有:CHECKING(对账中)、CHECKED(已对账)、CANCELED(已作废),我们需要按着 对账中 -> 已对账 -> 已作废 的顺序来显示账单,SQL语句如下:

SELECT * FROM tb_bill ORDER BY FIELD (status, 'CHECKING', 'CHECKED', 'CANCELED')

如果,我们还想再根据其他字段排序,例如:按创建时间(create_time)倒序,SQL如下:

SELECT * FROM tb_bill ORDER BY FIELD (status, 'CHECKING', 'CHECKED', 'ANCELED'), create_time DESC

3、缺点

  • ORDER BY FIELD 处理大数据的时候在性能上会出现比较大的问题

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词