我想从表中随机选择 6 行。这是我的问题。
RAND () 命令似乎不是那么随机,某些行比其他行更频繁地被选择。
即使表变大(10000 个观察值或更多),我也希望随机选择能够快速进行。
<?php
$con=mysqli_connect("mysql_host","mysql_user","mysql_password","mysql_database");
$result=mysqli_query($con, "SELECT * FROM my_table ORDER BY RAND() LIMIT 6");
$count = 0;
while($row=mysqli_fetch_row($result)){
$postsarray["one.$count."] = $row[1];
$postsarray["two.$count."] = $row[2];
$count++;
}
$encodedArray = array_map(utf8_encode, $postsarray);
echo json_encode($encodedArray);
mysqli_close($con);
?>
最佳答案
使用order by rand()
。我是完全随机的,而且 - 仅 10k 行 - 速度很快。
关于php - 如何随机选择6行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32044685/