자바강사 낙자쌤

오라클 랜덤하게 레코드 추출하기 - Oracle random select 본문

Database

오라클 랜덤하게 레코드 추출하기 - Oracle random select

낙자쌤™ 2022. 2. 28. 16:05
728x90
반응형

안녕하세요? 자바 강의하는 낙자쌤입니다.

오라클에서 레코드를 랜덤하게 추출하고 싶은데 난수를 생성해야 하나 고민하는 학생이 있어 알려준 내용입니다. 

만약 레코드 5개를 랜덤하게 추출하고 싶다면 다음과 같이 쿼리문을 실행하면 됩니다. 

select * from (
    select * from 테이블명 order by DBMS_RANDOM.RANDOM
)
where rownum <= 5;
  • DBMS_RANDOM.RANDOM : 정렬한 필드를 랜덤하게 설정합니다. 
  • 첫번째 쿼리문으로 랜덤하게 가져온 후, 두번째 쿼리문에서는 rownum을 통해 갯수를 설정합니다. 

참고로 MySQL에서는 rand()라는 함수가 내장되어 있어 이를 이용하면 됩니다. 

728x90
반응형