4
我有一個用逗號分隔的id列表,我想用它從數據庫中檢索記錄。我可以使用IN語句來獲得結果,但我希望結果的順序與原始列表的順序相同。SQL IN聲明和排序結果
EG
$list = "3,1,4,2,5";
$query = "SELECT * FROM table WHERE id IN (" . $list . ")";
$result = @mysql_query($query);
while($row=mysql_fetch_array($result)){
echo($row['id']. ", "); // returns 1, 2, 3, 4, 5
}
行,所以我得到的結果回來的順序,它們出現在數據庫 - 不夠公平,但我想要的結果是在相同的順序最初的名單,我想SQL檢索3第一,然後1等...
是否有一個SQL命令來做到這一點,或者我只是需要安排結果的方式,我需要通過一些數組洗牌?做這個的最好方式是什麼?
感謝
http://stackoverflow.com/questions/396748/ordering-by-the-order-of-values-in-a-sql-in-clause – webbiedave 2010-03-25 14:50:21