Programing

Mysql 랜덤으로 n개 데이터 불러오기

c10106 2017. 10. 30. 22:18
반응형

MySQL은 랜덤으로 특정 n개만 불러올 수 있는 기능을 제공합니다.

바로 RAND()이라는 함수인데요.

물론 아래 예제처럼 다른 DB처럼 0에서 1사이의 랜덤 숫자를 불러올 수 있습니다만,

MySQL은 RAND() 함수를 다른 방법으로 요기나게 사용할 수 있습니다.

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

반응형