2011-11-08 82 views
21

我需要运行MySQL查询,其顺序由数组值决定。按数组排序的MySQL排序顺序

我的阵列是可变的,但在阵列中的值对应于所谓的“ID”,所以我想在ID顺序9,1要返回的结果在我的数据库表中的字段,4

Array ([0] => 9 [1] => 1 [2] => 4) 

这可能在MySQL中,或者是否可以使用数组排序MySQL $结果?您可以假设返回的唯一值是数组中的值。

回答

1

你想获得的项目清单与IDS 5, 2, 1, 3并输出以相同的顺序。但是,仅运行选择查询将以1, 2, 3, 5的顺序返回项目。

要正确地订购结果,您需要构建描述ID重量的ORDER BY项目列表。这将看起来像

ORDER BY id = 5 DESC, id = 2 DESC, id = 1 DESC, id = 3 DESC 

转到this link以获取详细信息。