有没有办法随机化SQL(MySQL)中的限制数?
我希望能够做的是在查询中获取随机数量的结果,以便在没有任何服务器端脚本的插入子查询中使用。我希望能够作为假设插图运行的查询是:
SELECT id FROM users ORDER BY RAND() LIMIT RAND() * 1000
当然这不起作用,但还有另一种随机化限制数的方法吗?有很多关于随机化一组有限结果的例子,但我在网上找不到关于设置随机限制的任何内容。
答案 0 :(得分:0)
这个怎么样:
SELECT *
FROM users
ORDER BY RAND()
HAVING RAND() * 1000 < 10
条款WHERE RAND() * 1000 < 10
随机选择以1%的概率包含每一行。它不是一个LIMIT variable
条款,但会做大致相同的事情。
答案 1 :(得分:0)
专门针对MySQL:
SET @i = 0;
SELECT *
FROM users
WHERE (@i:=@i+1) < RAND()*1000
ORDER BY RAND();