테이블에서 무작위 레코드를 선택하고 싶지만 특정 필드에서 더 높은 값으로 바이어스하고 싶습니다. 어떤 레코드도 0 % 확률로 선택되지 않도록하고 싶습니다. 선택의 가능성이 적습니다.바이어스가있는 MySQL 무작위 레코드
이 문서에서, 나는 임의 선택이 저하 될 수 있다는 것을 알고 그리고 당신은 그 속도를 높일 수 : http://wanderr.com/jay/order-by-slow/2008/01/30/
그러나 조인과 함께 몇 테이블을 처리하는 경우에 대한 그리고 어디 성명 및 원하는 랜덤을 편향하는 방법으로 필드 중 하나를 사용하십시오 (이 필드의 값이 높을수록 선택 가능성이 높음)? 예를 들면 :
SELECT a.id, a.date, a.userid, b.points FROM table_a AS a INNER JOIN table_b AS b ON (a.userid = b.userid) WHERE DATE_SUB(CURDATE(), INTERVAL 60 DAY) <= a.date
가 어떻게 b.points의 높은 값으로 편향 될 수있는 효율적인 아니라 진정으로 임의의 쿼리로 위의 돌 수 있었다 ?