gpt4 book ai didi

php - 如何在 PHP 中从 MySQL 数据库中选择随机行?

转载 作者:可可西里 更新时间:2023-11-01 07:12:25 26 4
gpt4 key购买 nike

我在一个包含 2000 多行的在线 Web 服务器上有一个数据库表 questions,我需要随机选择 6 行。它们必须不同,这样一个问题就不会在 6 个问题的列表数组中出现两次。

我怎样才能做到这一点?

最佳答案

你的数据量比较小,所以最简单的方法是:

select q.*
from questions q
order by rand()
limit 6;

在此查询中,order by 花费的时间最长。订购 2,000 行可能会很明显。一个简单的解决方法是减少排序的行数。一种方法是:

select q.*
from questions q cross join
(select count(*) as cnt from questions) m
where rand() < 100 / m.cnt
order by rand()
limit 6;

where 随机选择大约 100 行,然后命令它们选择 6 行。您几乎可以保证 where 将始终选择至少 6 行。

关于php - 如何在 PHP 中从 MySQL 数据库中选择随机行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40192016/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com