Mysql : 隨機取一條數據

在這裏插入圖片描述

第一種
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條都沒有的情況

如果您還有其它的方法, 請留言回覆, 多多討論, 共同進步

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章