php - 如何随机选择6行?

标签 php mysql random

我想从表中随机选择 6 行。这是我的问题。

  1. RAND () 命令似乎不是那么随机,某些行比其他行更频繁地被选择。

  2. 即使表变大(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/

相关文章:

php - 获取注册用户信息

java - JDK 1.7 安全随机生成器播种和不可预测性

php - 使用 exec() 调用 python 脚本时出错

php - MySQL UPDATE 语句未通过 Web 表单更新数据库数据

PHP 和 MySQL 照片投票系统 - 最好的方法

php - 如何让我的应用程序在 appengine 上运行

facebook-graph-api - 如何计算 iOS sdk 中 Facebook 好友的数量?

c++ - 如何使用 Mersenne Twister 生成两个数字之间的所有值恰好一次

php - 从其他计算机连接数据库

javascript - 两个复选框都被选中