mysql以IN()Id的顺序返回行

Ray*_* S. 1 mysql sql-order-by

如果我有一个像我这样的mysql行Id的数组:

$id_array = array(5,3,13,7,12);
Run Code Online (Sandbox Code Playgroud)

如何在保留数组顺序的同时告诉mysql使用标题检索id.

即:像:

$in = implode(',',$id_array);

$query = "SELECT `id`,`title` FROM table WHERE `id` IN($in) ORDER BY (order of $id_array)"
Run Code Online (Sandbox Code Playgroud)

Dip*_*mar 5

我想你可能正在寻找功能FIELD

ORDER BY FIELD(field_name, implode(',',array(5,3,13,7,12)))
Run Code Online (Sandbox Code Playgroud)

编辑

在你的情况下,它会是这样的.

ORDER BY FIELD(id, $in)
Run Code Online (Sandbox Code Playgroud)