본문 바로가기

Snippets

MySQL에서 Random으로 데이타 가지고 오기

336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

ORDER BY RAND 를 사용하는 법

SELECT [컬럼명,,,]
FROM [테이블명]
ORDER BY RAND()

가장 간단하게 사용할 수 있다. 다만 대량의 row가 있을 경우 sorting overhead가 발생되어지므로 row의 수가 그리 많지 않을 경우에만 사용하도록 권장하고 있다.

다음의 쿼리의 경우 single row로 생성된 랜덤값을 range로 처리하여 가지고 오는 예제이다.

SELECT [컬럼명,,,]
  FROM [테이블명] AS r1 JOIN
       (SELECT CEIL(RAND() *
                     (SELECT MAX([키])
                        FROM [테이블명])) AS [키])
        AS r2
 WHERE r1.[키] >= r2.[키]
 ORDER BY r1.[키] ASC
 LIMIT 1


'Snippets' 카테고리의 다른 글

Ubuntu 에서 docker 설치하기  (0) 2016.02.23
VI 명령어 모음  (0) 2016.02.19
Ubuntu에서 mosquitto 설치하기  (0) 2016.02.17
apt-add-repository 명령어를 찾지 못할 경우  (0) 2016.02.17
AXIS2 WSDL2JAVA  (0) 2015.01.13