mysql case when 根据条件得出结果

请叫我带角凹凸曼 2013-08-22 04:00:49
数据:
A表
id info
1 延迟
2 重刷
3 转测试
4 转测试成功


要去:
上述4条数据,当存在ID为1,2的时候我取2的数据、 也就是说取数据的优先级是: 2431、 上面4条数据不一定都同时存在、 也有可能只有1,4、 那就取4的数据、


谢谢




...全文
671 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
谢谢各位了, 在java后台处理、 也加了一个优先级的字段、 数据库里面处理实在不好弄(还有其他表关联)
知道就是你 2013-08-23
  • 打赏
  • 举报
回复
支持一楼 :增加一列,排序优先顺序,之后 查询时order by 感觉比较灵活 ,易扩展!
ACMAIN_CHM 2013-08-22
  • 打赏
  • 举报
回复
select *
from A表
order by find_in_set(id,'2,4,3,1') 
limit 1
栗华山 2013-08-22
  • 打赏
  • 举报
回复
引用 1 楼 rucypli 的回复:
简单 你加一列位置列得了 id info pos 1 延迟 2 2 重刷 4 3 转测试 3 4 转测试成功 1 select * from tb order by pos
这个方法好!
rucypli 2013-08-22
  • 打赏
  • 举报
回复
简单 你加一列位置列得了 id info pos 1 延迟 2 2 重刷 4 3 转测试 3 4 转测试成功 1 select * from tb order by pos

56,678

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧