php - 在 SQL 数据库中选择随机行

标签 php sql mysql select random

我想在我的数据库中选择一个随机行。我在网站上看到了这个解决方案:

SELECT column FROM table
ORDER BY RAND()
LIMIT 1

此 SQL 查询已运行,​​但有人告诉我这是一个非性能查询。还有其他解决方案吗?

谢谢

最佳答案

是的。您必须使用

来计算行数
SELECT COUNT(*) FROM `table`;

在此之后,使用 php 函数 mt_rand() 获取从 1 到 $count 的随机数,并通过查询获取它:

SELECT `column` FROM `table` LIMIT $rand, 1

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

相关文章:

sql - Rails has_one 和 belongs_to 加入

MySQL多对多补集

jquery - jQuery UI Sortable 的默认顺序

PHP 7.4+ 类属性类型

javascript - 在 PHP 中转义 json 数据而不使用 JS 注释 hack 的正确方法

mysql - 当我在页面加载时使用数据读取器附加文本框的内容时,更新查询不起作用

java - 指定数据库连接的目录路径

mysql - 酒店预订检查抵达日期和离开日期之间的空房吗?

PHP 与 SQL Server 2005+

PHP 从选择填充文本框 - 数组字段