我有一个相当简单的 SQL(MySQL):
SELECT foo FROM bar ORDER BY rank, RAND()
我注意到当我刷新结果时,随机性非常弱。
在目前的样本数据中,有六个结果具有相同的等级(整数零)。有很多随机测试,但这里有一个简单的手动测试:当运行两次时,两次运行的第一个结果应该是相同的,大约有六分之一的时间。这肯定不会发生,领先的结果至少有三分之一的时间是相同的。
我想要在排列上均匀分布。我不是专业的统计学家,但我很确定ORDER BY RAND()
应该做到这一点。我错过了什么?
使用 MySQL,SELECT rand(), rand()
显示两个不同的数字,所以我不购买“每个查询一次”的解释