请知悉:本文最近一次更新为 8年 前,文中内容可能已经过时。

有时需要select id in 提取数据,但是提取的数据通常都是自带了ASC排序的,如何使用默认的in中的排序呢?经过检索,找到了解决办法,示例代码如下:
MySQL写法:

SELECT * FROM EVENT WHERE eventId IN(443,419,431,440,420,414,509)  ORDER BY INSTR(',443,419,431,440,420,414,509,',CONCAT(',',eventId,','))

Oracle写法:

select name from order where oderid in(111,222,333,444,555,666)order by instr('111,222,333,444,555,666',orderid)

方法来自:https://blog.csdn.net/liyanhui1001/article/details/8508192

还有其他实现方式:

select id from article where id in(1,2,3) order by field(id,3,1,2);

方法来自:李伟的博客-mysql查询结果自定义排序


如您从本文得到了有价值的信息或帮助,请考虑扫描文末二维码捐赠和鼓励。

尊重他人劳动成果。转载请务必附上原文链接,我将感激不尽。


与《MySQL 按 select in 的id顺序排序》相关的博文:


留言

avatar
😀
😀😁😂😅😭🤭😋😘🤔😰😱🤪💪👍👎🤝🌹👌