mysql - MySQL 按字段排序,以未列出的项目结尾
问题描述
我正在使用一个大型 MySQL 查询,我需要通过一组id
这是我的order by
条款:ORDER BY FIELD(plt_id.id, '82', '81', '78', '84', '86', '87')
效果很好……但 MySQL 行以id
未列出的行开头。我需要id
首先列出。
有什么建议如何从id
列出的那些开始,ORDER BY FIELD(plt_id.id, '82', '81', '78', '84', '86', '87')
然后是所有未列出的行?
解决方案
简单的方法是反转函数内列出的 id 的顺序FIELD()
并降序排序:
ORDER BY FIELD(plt_id.id, '87', '86', '84', '78', '81', '82') DESC
对于列表中不存在的所有 id,FIELD()
返回0
以便将它们排在最后。
推荐阅读
- android - Unity Input.gyro.enabled 在Android上抛出空指针异常
- rest - 使用 REST API 封装基于事件的系统
- linux - 在 Ubuntu 3.13.0-163-generic 上构建 GRPC 编译失败
- android - Android WebView 不会加载本地文件
- android - Android studio 文件路径目录未创建
- ide - Visual Studio 2019 中无扩展的结构导航
- javascript - 在表格javascript中的最小值旁边显示*
- python - 使用嵌套循环在列表中查找素数
- javascript - CKeditor5 实例中的变量到 textarea
- python - 机器学习中的测试和训练数据