来自mysql表的随机记录

时间:2010-06-11 04:45:34

标签: mysql

是否有任何内置函数,除了random()命令在mysql表中选择一个随机记录?

3 个答案:

答案 0 :(得分:2)

不,但你可以把它变成两个问题。在伪PHP和MySQL代码中:

$max = SELECT COUNT(*) FROM example;
$rand = rand(0, $max-1);
SELECT * FROM example LIMIT $rand, 1;

正确的方法可能是将其变为存储过程。

答案 1 :(得分:1)

我不这么认为......你为什么不想使用那个有效的?

顺便说一句,我很确定它是ORDER BY RAND()

我读过它可能是很多行的性能问题......你有很多行吗?

答案 2 :(得分:1)

SELECT * FROM users ORDER BY RAND() Limit 0, 1;