mysql 가중치에 의한 랜덤선택 > IT 기술백서

[code]

SELECT * FROM test ORDER BY RAND() * 100 + weight LIMIT 1

[/code]

weight 는 가중치가 들어있는 필드 이름

 

아래는 sqlalchemy 로 해봤는데 몰라서 text 로 raw쿼리 이용했음 ㅜㅜ

[code]

test = db.session.query(Test).order_by(desc(text(‘RAND() * 100 + weight’))).first()

[/code] 

댓글 달기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

위로 스크롤