문서의 선택한 두 판 사이의 차이를 보여줍니다.
다음 판 | 이전 판 | ||
database:mysql:random [2012/11/28 12:01] kwon37xi 새로 만듦 |
database:mysql:random [2012/11/28 12:55] kwon37xi |
||
---|---|---|---|
줄 1: | 줄 1: | ||
====== MySql Random ====== | ====== MySql Random ====== | ||
랜덤하게 하나의 행을 선택하기가 필요하기도 하다. [[http:// | 랜덤하게 하나의 행을 선택하기가 필요하기도 하다. [[http:// | ||
+ | |||
+ | * [[http:// | ||
===== 간편하지만 성능이 떨어지는 방법 ===== | ===== 간편하지만 성능이 떨어지는 방법 ===== | ||
줄 12: | 줄 14: | ||
<code sql> | <code sql> | ||
-- 원하는 행의 갯수보다 작은 랜덤 값을 생성하여 $temp 변수에 저장하고, | -- 원하는 행의 갯수보다 작은 랜덤 값을 생성하여 $temp 변수에 저장하고, | ||
- | SELECT CAST(RAND()*(SELECT COUNT(*) FROM table1) AS SIGNED)-1; | + | -- 쿼리 1 |
+ | SELECT CAST(RAND()*(SELECT COUNT(*) FROM table) AS SIGNED)-1; | ||
+ | -- 혹은 쿼리 2 | ||
+ | SELECT FLOOR(RAND() * COUNT(*)) AS offset FROM table; | ||
-- limit 시작값으로 지정한다. | -- limit 시작값으로 지정한다. |