从mysql中随机取出几条数据
方法1:
select * from table_name order by rand() limit 5
但该方法效率较差。
方法2:
①取出表的总条数;
②生成n个随机数;
③根据随机数去数据库中取数。
缺点:若随机数表示的id在数据库中不存在,则无法取出。
方法3:
SELECT *
FROM sys_user AS t1
JOIN (SELECT ROUND(RAND() * (SELECT MAX(id) FROM sys_user)) AS id) AS t2
WHERE t1.id >= t2.id
ORDER BY t1.id asc limit 5
该方法效率较高。