一个出色的职位,可以处理多种情况,从简单到有缺口,再到有缺口的不均匀。
http://jan.kneschke.de/projects/mysql/order-by-
rand/
对于大多数一般情况,这是您的 *** 作方法:
SELECt name FROM random AS r1 JOIN (SELECt CEIL(RAND() * (SELECT MAX(id) FROM random)) AS id) AS r2 WHERe r1.id >= r2.id ORDER BY r1.id ASC LIMIT 1
这假定id的分布是相等的,并且id列表中可能存在间隙。请参阅文章以获取更多高级示例
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)