gpt4 book ai didi

php - 使用 MySQL 随机选择行

转载 作者:行者123 更新时间:2023-11-29 03:49:42 24 4
gpt4 key购买 nike

从一个表中随机选择记录;我必须总是在 PHP 中设置一个临时变量吗?我需要一些帮助来在 CodeIgniter 模型中选择随机行,然后每次查看我的主页时在 View 中显示三个不同的行。有没有人对如何解决这个问题有任何想法?提前致谢!

最佳答案

如果你没有大量的行,你可以简单地:

SELECT * FROM myTable ORDER BY RAND() LIMIT 3;

如果你有很多行,这会变慢,但对于较小的数据集,它会工作得很好。

正如 Steve Michel 在他的回答中提到的,这种方法对于大表来说会变得非常难看。他的建议是一个很好的出发点。如果您知道表中的近似最大整数 PK,您可以执行一些操作,例如生成一个介于 1 和最大 PK 值之间的随机数,然后一次抓取一个随机行,例如:

$q="SELECT * FROM table WHERE id >= {$myRandomValue}";
$row = $db->fetchOne($q); //or whatever CI's interface to grab a single is like

当然,如果您需要 3 个随机行,您将在此处进行三个查询,但由于它们完全基于 PK,因此它们会很快(比随机化整个表)。

关于php - 使用 MySQL 随机选择行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1517493/

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