티스토리 뷰

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
MySQL에서 Random으로 데이타 가지고 오기  (0) 2016.02.18
Ubuntu에서 mosquitto 설치하기  (0) 2016.02.17
apt-add-repository 명령어를 찾지 못할 경우  (0) 2016.02.17
AXIS2 WSDL2JAVA  (0) 2015.01.13
댓글
댓글쓰기 폼
공지사항
최근에 달린 댓글
Total
125,395
Today
21
Yesterday
13
링크
«   2021/04   »
        1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30  
글 보관함