문서의 선택한 두 판 사이의 차이를 보여줍니다.
| 다음 판 | 이전 판 | ||
|
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 시작값으로 지정한다. | ||