2012-04-04 2 views
0

내 MySQL 데이터베이스에는 모든 항목에 등급 (정수)이 있습니다. 이제 무작위로 10 개의 요소를 전달하는 SQL 쿼리를 원합니다. 아마 추측 할 수 있듯이 요소의 기회는 RatingOfThisElement/AllRatings 여야합니다. 어떻게해야합니까? (나는 PHP에서 그것을하는 방법을 알고 있지만 성능 때문에 SQL 쿼리를 갖고 싶습니다.)SQL 무작위 쿼리

답변

0

구글이 당신을 도움이 될 것입니다 http://akinas.com/pages/en/blog/mysql_random_row/

+0

입니다 - 그것은 엄청난 성능 문제를 구분 할 수 있습니다 당신은 PHP에서 그 일을 더 잘 할 수있다. 하지만 귀하의 예제 에서처럼 1/NumElements가 아닌 RatingOfThisElement/AllRatings가 될 기회를 원합니다. – user1200226

+0

요점은 임의성을 생성하는 방법을 알아야한다는 것입니다. 상황에 임의성을 적용하는 방법을 알아야합니다. – briantyler

0

당신은 RAND에 의해() LIMIT (10) 등 MySQL: Alternatives to ORDER BY RAND() 여기로 주문을 사용할 수 있지만 특정 방법으로 사용하는 경우 문제는 MySQL의에서 RAND에 의해 순서가있다. 여기

+0

그건 그냥 무작위 야. 하지만 귀하의 예제 에서처럼 1/NumElements가 아닌 RatingOfThisElement/AllRatings가 될 기회를 원합니다. – user1200226

0

alternatives to ORDER BY RAND은 무작위의 그 해결책

SELECT * FROM yourtablename ORDER BY RAND() LIMIT 0,10; 
+0

PHP 쿼리보다 성능이 나쁜 게시 된 링크를 살펴 본다면 – briantyler

+0

이지만 user1200226은 PHP에 태그하지 않았습니다.) –