MySQL从一张表怎么随机取50条数据?
这个东西得分开看了。
如果你的表记录没有上万级别。那么order by rand()
也可以接受。
但是表记录大的时候,order by rand()
效率极低。
所以建议在提问题的基础上,尽可能交代业务场景~~~。
SELECT *
FROM 表名 AS t1
JOIN (
SELECT ROUND( RAND( ) * (SELECT MAX( id )FROM 表名 ) ) AS id
) AS t2
WHERE t1.id >= t2.id
ORDER BY t1.id ASC
LIMIT 50
5 回答3.3k 阅读✓ 已解决
3 回答3.6k 阅读✓ 已解决
2 回答2.8k 阅读✓ 已解决
1 回答2.4k 阅读✓ 已解决
1 回答2.4k 阅读✓ 已解决
5 回答1.4k 阅读
2 回答1.8k 阅读