mysql in语句的排序探讨

foolbirdflyfirst 2007-03-21 11:30:02
mysql 5.x

sql 1 : select id from table where id in(3,6,5,2);
此语句所得结果将默认升序排列。如以下
id
===
2
3
5
6
===
sql 2 : select id from table where id in(3,6,5,2) order by substring_index('3,6,5,2',id,1);即可得到以下排序
id
====
3
6
5
2
======
将substring_index(...)变成abs(substring_index(....))都不能得到如上排列。
请大家帮忙解释以下sql 2是如何工作的。
...全文
365 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
foolbirdflyfirst 2007-03-21
  • 打赏
  • 举报
回复
哈哈,好蠢啊我。
谢谢你的提醒。
:D
klan 2007-03-21
  • 打赏
  • 举报
回复
执行下面语句,你就知道了:
select id,substring_index('3,6,5,2',id,1) from table where id in(3,6,5,2) order by substring_index('3,6,5,2',id,1);


;)

56,677

社区成员

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

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