我需要運行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以獲取詳細信息。