mysql 关闭in自动排序_为什么MySQL的in查询会自动排序
$id_arr = array(2,6,3,10);//排好序的id列表
$sql = "select user,id from user_member where id in (".implode(",",$id_arr).")";
本來對id排序好了,結(jié)果查出來sql會自動對id再排序,怎么能按$id_arr的順序顯示呢?
回復(fù)內(nèi)容:
$id_arr = array(2,6,3,10);//排好序的id列表
$sql = "select user,id from user_member where id in (".implode(",",$id_arr).")";
本來對id排序好了,結(jié)果查出來sql會自動對id再排序,怎么能按$id_arr的順序顯示呢?
order by null
數(shù)據(jù)庫 不會按你想的那樣來做. 數(shù)據(jù)庫自己的標(biāo)準(zhǔn), 怎樣使查詢更有效率.
在這里, 要么全表掃一遍(或覆蓋索引), 要么按索引查詢.
要得到你的結(jié)果, 要么在sql里做一些比較tricky的事情, 要么放在你的php里排序.
select user, id
from
(select user,id, field(id, 2,6,3,10) row
from user_member
where id in (2,6,3,10)) TMP
order by row;
WHERE id IN($id) ORDER BY find_in_set(id ,'{$id}')
本文原創(chuàng)發(fā)布php中文網(wǎng),轉(zhuǎn)載請注明出處,感謝您的尊重!
總結(jié)
以上是生活随笔為你收集整理的mysql 关闭in自动排序_为什么MySQL的in查询会自动排序的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 3. 机器学习中为什么需要梯度下降_机器
- 下一篇: python twisted教程_Pyt