본문 바로가기
IT/Database

[Mysql] select 랜덤값 출력

by 성준하이 2022. 10. 17.
반응형

 

SQL을 할때 랜덤으로 데이터를 가져오고 싶을때 사용하는

 

ORDER BY RAND()
 

SELECT * FROM table ORDER BY RAND();

이런식으로 으로 간단하게 사용할 수 있으며,

 

limit 10; 을 뒤에 붙임으로써 10개의 데이터 혹은 원하는 데이터 만큼의 레코드를 가져올수 있다.

 

 

SELECT * FROM table  ORDER BY name desc, RAND() LIMIT 1;
 

만약 위 쿼리처럼 다른 컬럼을 정렬 후에 사용하면

 

우선 name 컬럼으로 내림차순으로 정렬하고

같은 값이 있는경우에 다시 랜덤으로 섞어서 하나를 가져온다.

반응형

댓글