MySQL: 승수를 사용한 가중치 무작위 선택
사용자가 MySQL 테이블에서 무작위 항목을 선택하는 경우 가중치를 기반으로 해야 하는 시나리오를 접했습니다. "승수" 열에 있습니다. 일반적인 접근 방식에는 SELECT 및 RAND()를 활용하는 것이 포함되지만 가중치 측면을 어떻게 달성할 것인가에 대한 의문이 생겼습니다.
이를 해결하기 위해 이전 솔루션에서는 -LOG(1.0 - RAND() 값을 기준으로 정렬하는 것을 제안했습니다. )를 승수로 나눈 값입니다. 이 접근 방식은 정확한 가중치를 성공적으로 생성했습니다. 그러나 잠재적인 단점이 나타났습니다. 옵션을 비활성화하기 위해 승수를 0으로 설정하면 0으로 나누어지게 됩니다.
대신 WHERE 승수 > 0 조건을 고려할 수 있습니다. 이렇게 하면 비활성화된 항목이 무작위 선택 프로세스에 포함되지 않습니다.
위 내용은 '승수' 열을 사용하여 MySQL에서 가중치가 적용된 무작위 선택을 구현하고 0으로 나누는 오류를 방지하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!