首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >MySQL ORDER BY IN()

MySQL ORDER BY IN()
EN

Stack Overflow用户
提问于 2009-08-26 05:07:32
回答 2查看 46.5K关注 0票数 77

我有一个包含多个ID的PHP数组。这些数字已经被排序了。

现在我想通过IN()方法获得我的结果,以获得所有的ID。

但是,这些ID的顺序应该与in方法中的顺序类似。

例如:

代码语言:javascript
复制
IN(4,7,3,8,9)  

应该会给出类似这样的结果:

代码语言:javascript
复制
4 - Article 4  
7 - Article 7  
3 - Article 3  
8 - Article 8  
9 - Article 9

有什么建议吗?也许有一个函数可以做到这一点?

谢谢!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2009-08-26 05:16:01

我想您可能正在寻找FIELD函数--虽然通常认为它是一个字符串函数,但它也适用于数字!

代码语言:javascript
复制
ORDER BY FIELD(field_name, 3,2,5,7,8,1)
票数 163
EN

Stack Overflow用户

发布于 2009-08-26 05:12:06

您只需要给出正确的order by语句即可。

代码语言:javascript
复制
SELECT ID FROM myTable WHERE ID IN(1,2,3,4) ORDER BY ID

为什么你想让你的数据像你的例子一样无序呢?

如果您不介意连接长查询,可以尝试这样做:

代码语言:javascript
复制
SELECT ID FROM myTable WHERE ID=1
UNION
SELECT ID FROM myTable WHERE ID=3
UNION
SELECT ID FROM myTable WHERE ID=2
票数 -2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1332434

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档