2011-11-08 107 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以獲取詳細信息。