目前,我正在从MySQL数据库表中检索一些数据,但问题是每次执行查询时,默认情况下,MySQL根据自动生成的id(字段名称[id])对结果进行排序。我不想被排序。就我而言:
$keys = array(4, 1, 7, 8, 2, 5, 6);
$strKeys = implode(',', $keys);
$result = mysql_query('SELECT * FROM tableName WHERE id in('.$strKeys.')');
我希望结果按$键的顺序排列:4,1,7,8,2,5,6 但实际上,结果按[id]的排序顺序排出:1,2,4,5,6,7,8
如何从$键获取结果并按顺序显示。
答案 0 :(得分:9)
你可以试试这个。
SELECT * FROM tableName WHERE id in (4, 1, 7, 8, 2, 5, 6) order by find_in_set(id, '4, 1, 7, 8, 2, 5, 6');