是否有任何内置函数,除了random()命令在mysql表中选择一个随机记录?
答案 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;