반응형
SQL을 할때 랜덤으로 데이터를 가져오고 싶을때 사용하는
ORDER BY RAND()
SELECT * FROM table ORDER BY RAND();
이런식으로 으로 간단하게 사용할 수 있으며,
limit 10; 을 뒤에 붙임으로써 10개의 데이터 혹은 원하는 데이터 만큼의 레코드를 가져올수 있다.
SELECT * FROM table ORDER BY name desc, RAND() LIMIT 1;
만약 위 쿼리처럼 다른 컬럼을 정렬 후에 사용하면
우선 name 컬럼으로 내림차순으로 정렬하고
같은 값이 있는경우에 다시 랜덤으로 섞어서 하나를 가져온다.
반응형
'IT > Database' 카테고리의 다른 글
[Oracle] Decode 함수 (42) | 2022.11.18 |
---|---|
[Mysql] 스토리지 엔진 MYISAM / INNODB (26) | 2022.11.05 |
[Mysql] 실행한 query log 확인 및 추적 하는 법 (41) | 2022.10.09 |
[Mysql] 문자열 추출 및 인덱싱 (57) | 2022.10.06 |
[Oracle] 옵티마이저 힌트 및 실행계획 (35) | 2022.10.01 |
댓글