mysql随机select N条记录

最简单的方法:
SELECT * FROM table ORDER BY rand() limit 20000
网上说这个效率很慢,我的表大概200W,limit20000条,没发现很慢。
我还试了一个办法,大体的思想就是用一个where条件,假设主键是userid,
where userid >= (max(userid) - min(userid)) * rand() + min(userid) LIMIT 10000
从字面上看,如果rand()只是运行一次,是取大于某userid的N条记录啊,我反正试了试,没成功,看起来就是取的前面的,并未能成功随机。

留言

熱門文章