development/db

[MYSQL] n개 데이터 랜덤으로 뽑기

big-blog 2018. 3. 6. 16:42
반응형

MySQL에서는 아래 예제처럼 0~1사이의 랜덤 수를 추출도 해주며,


mysql> SELECT i, RAND() FROM t;

+------+------------------+

| i    | RAND()           |

+------+------------------+

|    1 | 0.35877890638893 |

|    2 | 0.28941420772058 |

|    3 | 0.37073435016976 |

+------+------------------+

3 rows in set (0.00 sec)


테이블 내에서 랜덤으로 특정 n개만 호출도 할 수 있는 편리한 기능입니다.


방법은 아래처럼 작성하시면 됩니다.

 SELECT [컬럼명] FROM [테이블명] ORDER BY RAND() LIMIT [개수]



아래 그림은 RAND()함수와 LIMIT 기능을 같이 활용한 샘플 쿼리의 실행 결과입니다.


동일한 결과를 한 번 더 실행하면 위의 결과와 다른 랜덤 결과를 얻을 수 있습니다.


이상 MySQL RAND()와 LIMIT를 활용한 랜덤으로 n개 데이터 가져오기 방법이었습니다.


참고 API) https://dev.mysql.com/doc/refman/5.7/en/mathematical-functions.html#function_rand

반응형

'development > db' 카테고리의 다른 글

MySQL에 대한 소개 글  (0) 2018.03.16
MyBatis에 카멜 방식 적용하기  (0) 2018.03.09