개발/DB

MySQL 무작위 SELECT 쿼리 (ORDER BY RAND())

JJ Dev. 2021. 12. 2. 22:06
반응형

 

어떤 테이블에서 row 중 N개를 무작위로 뽑아 가져오려면 어떻게 해야할까?

 

여러 솔루션이 있겠지만 가장 쉬운 방법은 ORDER BY와 RAND()함수, LIMIT을 함께 사용하는 것이다.

 

빠르게 사용법과 사용 예제를 살펴보자.

 


 

사용 방식

SELECT [가져올 컬럼명] FROM [테이블 명] ORDER BY RAND() LIMIT [가져오려는 row 개수];

개수 상관없이 전체 다 가져오려면 LIMIT [가져오려는 row 개수] 부분을 안 쓰면 된다.

 

 

사용 예시

SELECT * FROM [테이블 명] ORDER BY RAND() LIMIT 7;

이렇게 하게 되면 테이블에서 무작위로 7개만 가져오게 될 것이다.

 


마무리

 

만약 가져오려는 row의 개수보다 테이블에 존재하는 row의 개수가 더 적다면 에러 없이 존재하는 모든 row를 가져오니 걱정 없이 사용하도록 하자.

 

반응형

'개발 > DB' 카테고리의 다른 글

[MySQL] 현재 시간에 시간 더하기(DATE_ADD, DATE_SUB 함수)  (0) 2021.12.02