如何保持MySQL结果的顺序?

时间:2013-10-01 11:43:17

标签: php mysql

我的查询看起来像这样:

$query = 'select mcf.*, mc.*, o.*, u.*
          from MyConstructionFile mcf
          inner join mcf.MyConstruction mc
          inner join mc.MyConstructionUser o and o.is_owner = true
          inner join o.User u
          where mcf.id in ('.implode(',', $ids).')';

我需要结果的顺序与数组$ids中的结果完全相同,但我得到了按ID排序的结果,我该怎么做?

2 个答案:

答案 0 :(得分:7)

添加

'order by find_in_set(mcf.id, \''.implode(',', $ids).'\')';

FIND_IN_SET()

答案 1 :(得分:1)

应该是这样的:

'order by find_in_set(mcf.id, \''.implode(',', $ids).'\')';