You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MySQL中使用LIKE实现ORDER BY自定义排序的正确语法

正确SQL实现
SELECT * FROM `table`
ORDER BY CASE 
         WHEN `NAME` LIKE '%Bob%' THEN 1
         WHEN `NAME` LIKE '%Alex%' THEN 2
         ELSE 3
         END, `NAME`

语法解释

  • 你之前的写法报错是因为使用了仅支持等值匹配的简单CASE表达式,这类写法的WHEN后只能跟固定匹配值,不支持直接写LIKE这类条件判断逻辑
  • 改用搜索CASE表达式即可实现自定义条件排序:CASE后不接字段,每个WHEN子句写完整的判断条件
  • 上述写法会自动将同时包含Bob和Alex的行归到第一优先级,符合你的排序要求
  • 末尾追加的, NAME``为可选配置,用于相同优先级的行按NAME字段本身正序排列,不需要可以直接删除

内容的提问来源于stack exchange,提问作者user17193038

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 22:45:08