當我使用WHERE IN
語句運行查詢時,它似乎會自動對返回的product_id進行排序。SQL,「WHERE IN」迴歸自動排序結果
$SQL = "SELECT * FROM PIM WHERE product_id in (10,8,1,3)";
foreach($conn->query($sql) as $row) {
echo $row['product_id'] . "<br>";
}
結果:
1
3
8
10
我希望他們在沒有指定他們(10,8,1,3)
它可能是偶然的順序返回它們;但除非指定了ORDER BY子句,否則返回順序是不確定的('ORDER BY FIELD(product_id,10,8,1,3)') –
如果您希望您的SQL結果按特定順序,則必須添加一個特定的'ORDER BY'子句 –
[*「郵件列表中的常見問題是如何按特定順序對結果進行排序。只需使用FIELD函數:」*](https://dev.mysql.com/doc/) refman/5.7/en/sorting-rows.html) –