ORDER BY FIELD未按指定的ID号排序

时间:2015-07-19 10:13:06

标签: mysql sql sql-order-by

我运行了一个查询,该查询按照另一个属于拖放菜单布局构建器的数据库调用指定的id来选择行。

我无法按字段顺序正常工作。

要么我做得不正确,要么只是miis才能理解ORDER BY FIELD()sql查询。

以下是查询:

$databasemenustring = '2,3,1,4';
$datamenu = $pdo->query("SELECT id, name, title, slug FROM pages WHERE id IN({$databasemenustring2}) AND islive=1 ORDER BY FIELD('id', {$databasemenustring})");

目前只按id desc订购。

谢谢:)

1 个答案:

答案 0 :(得分:2)

None

Change ORDER BY FIELD('id',

这是一个示例,在将fieldname作为字符串文字传递时,它不会保留指定的顺序

ORDER BY FIELD(id,

并且

mysql> select idfields from fields where idfields in (132,124,130,125) order by field('idfields',132,124,130,125);
+----------+
| idfields |
+----------+
|      124 |
|      125 |
|      130 |
|      132 |
+----------+