在MySQL数据库中从表里随机获取数据

2022-09-16 16:45:27 浏览数 (1)

前言

在很多应用场景下,我们需要从数据库表中随机获取一条或者多条记录。这里主要介绍对比两个方法。

简单方法(不高效)
代码语言:javascript复制
SELECT * FROM table_name ORDER BY RAND() LIMIT 1;
高效方法
代码语言:javascript复制
SELECT t1.id,t1.word,t1.status FROM hy_idiom AS t1 JOIN 
(SELECT ROUND(RAND() * ((SELECT MAX(id) FROM hy_idiom 
where status=1)-(SELECT MIN(id) FROM hy_idiom 
where status=1)) (SELECT MIN(id) FROM hy_idiom  
where status=1 )) AS id) AS t2 WHERE t1.id >= t2.id AND t1.status=1 
ORDER BY t1.id LIMIT 5 ;

LIMIT 5 表示取出5条记录,可根据需要对SQL语句进行修改即可使用

0 人点赞