mysql随机返回一条数据

select * from biz_question ORDER BY RAND(id) LIMIT 1;
SELECT * FROM biz_question  AS t1  
JOIN (SELECT ROUND(RAND() * ((SELECT MAX(id) FROM biz_question)-(SELECT MIN(id) FROM biz_question))+(SELECT MIN(id) FROM biz_question)) AS id) AS t2 WHERE t1.id >= t2.id ORDER BY t1.id LIMIT 1

建议第二种,效率高一些

posted @ 2022-07-26 16:52  liaozk  阅读(297)  评论(0编辑  收藏  举报