Mysql : 随机取一条数据

Mysql : 随机取一条数据_第1张图片

第一种
select * from t_user_grade ORDER BY rand() limit 1

ORDER BY rand()语句,这个语句可以实现取任意条数据,但是官网提示数据量大时内存消耗会很大,查询会很慢

第二种(随机生成一个id)
select * from t_user_grade as t1 JOIN (select ROUND(RAND()*(select MAX(id) from t_user_grade)) as id)  as t2 where t1.id > t2.id ORDER BY t1.id LIMIT 3

这种情况, 在数据量很小的情况下, 很容易出现不够条数, 甚至1条都没有的情况

如果您还有其它的方法, 请留言回复, 多多讨论, 共同进步

你可能感兴趣的:(MYSQL)