[sqlite3] 테이블에서 한 행을 랜덤으로 읽기

코딩/데이터베이스|2020. 10. 16. 22:15

728x90

다음과 같은 데이터를 담고 있는 테이블이 있습니다. 테이블의 이름은 student입니다. 

 

 

여기서 하나의 행을 무작위로 읽으려면 다음과 같이 명령해줘야합니다. 

 

sqlite> SELECT * FROM student ORDER BY RANDOM() LIMIT 1;

 

그러면 하나의 행을 무작위로 선정해서 읽어줍니다. 

 

 

보시는 것과 같이 명령을 내릴 때마다 계속해서 읽어내는 행이 달라졌습니다. 무작위로 하나를 선정했기 때문입니다. 

 

만약에 2개의 행을 선택해야 한다면, 간단히 마지막을 LIMIT 2로 바꾸면 됩니다. 

 

 

어떤 회사에서 회사 데이터베이스에 있는 고객 중에 몇 명을 선정해서 경품을 줄 때 이러한 방법을 사용해도 좋을 것 같습니다.  

 

 

b스카이비전의 추천글

[sqlite3] 기본 명령어 및 create, read, update, delete 하는 법 정리