mysql – ORDER BY RAND()似乎不是随机的
发布时间:2020-11-17 12:46:45 所属栏目:MySql 来源:互联网
导读:我有一个相当简单的SQL(MySQL):SELECT foo FROM bar ORDER BY rank, RAND() 我注意到当我刷新结果时,随机性很可疑.在目前的样本数据中,有六个结果具有相等的等级(整数零).有很多关于随机性的测试,但是这是一个简单的手工测试:当运行两次时,第一个结果在两次
我有一个相当简单的SQL(MySQL):
我注意到当我刷新结果时,随机性很可疑. 在目前的样本数据中,有六个结果具有相等的等级(整数零).有很多关于随机性的测试,但是这是一个简单的手工测试:当运行两次时,第一个结果在两次运行中应该是相同的,大约六分之一的时间.这当然不会发生,主要结果至少有三分之一的时间是相同的. 我希望在排列上有统一的分布.我不是专家统计学家,但我很确定ORDER BY RAND()应该实现这一点.我错过了什么? 使用MySQL,SELECT rand(),rand()显示两个不同的数字,所以我不买“每个查询一次”的解释 最佳答案RAND() is only executed once per query.您可以通过查看结果集来验证这一点.
如果您尝试获取随机订单,则应使用NEWID()或CHECKSUM(NEWID()). (编辑:十堰站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐
- Want to archive tables? Use Percona Toolkit’
- php – 如果索引存在于Laravel迁移中,如何检查索
- 当使用Openfire在两个iOS设备之间聊天时(使用MyS
- php – 在Laravel 4中搜索和过滤/优化数据库结果
- Mysql2 ::错误:此MySQL版本不允许使用命令:LOA
- php – MYSQL – 从获取的数组中选择特定值
- php – 如何在PDO中使用/编写mysql_real_escape_
- mysql悲观锁总结和实践--转
- 使用MySQL和MSSQL为Entity Framework提供两个不同
- mysql – 使用SQL比较两个表中的标识符计数
热点阅读