MySQL读取随机记录的实现方法有很多,现总结两种: 用法一:适用于小数据量的数据表(Table)
SELECT * from TABLE order by RAND() LIMIT 1
用法二:可用于大数据量的数据表(Table)
SELECT Column FROM table AS r1 JOIN (SELECT MAX(Id) AS wid_c FROM table) AS tmp1 WHERE r1.Id >= (SELECT (RAND() * tmp1.wid_c) AS id) LIMIT 10

本文总结了两种在MySQL中获取随机记录的方法。对于小数据量的表,可以使用`SELECT * FROM TABLE ORDER BY RAND() LIMIT 1`;而对于大数据量的表,推荐使用JOIN操作和MAX(Id)结合,通过`(RAND()*tmp1.wid_c) AS id`来随机选取,这种方式在大数据场景下更有效。
1847

被折叠的 条评论
为什么被折叠?



