mysql표에서 무작위로 몇 개의 데이터를 꺼내다

485 단어
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
이 방법은 효율이 비교적 높다.

좋은 웹페이지 즐겨찾기