【发布时间】:2017-10-07 23:35:24
【问题描述】:
当我使用 WHERE IN 语句运行查询时,它似乎会自动对返回的 product_id 进行排序。
$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子句