我需要运行MySQL查询,其顺序由数组值决定。按数组排序的MySQL排序顺序
我的阵列是可变的,但在阵列中的值对应于所谓的“ID”,所以我想在ID顺序9,1要返回的结果在我的数据库表中的字段,4
Array ([0] => 9 [1] => 1 [2] => 4)
这可能在MySQL中,或者是否可以使用数组排序MySQL $结果?您可以假设返回的唯一值是数组中的值。
我需要运行MySQL查询,其顺序由数组值决定。按数组排序的MySQL排序顺序
我的阵列是可变的,但在阵列中的值对应于所谓的“ID”,所以我想在ID顺序9,1要返回的结果在我的数据库表中的字段,4
Array ([0] => 9 [1] => 1 [2] => 4)
这可能在MySQL中,或者是否可以使用数组排序MySQL $结果?您可以假设返回的唯一值是数组中的值。
ORDER BY field(id, 9, 1, 4);
http://dev.mysql.com/doc/refman/5.5/en/string-functions.html#function_field
你想获得的项目清单与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以获取详细信息。