두 개의 테이블 videos
및 videos_ratings
이 있습니다. 비디오 테이블에는 int videoid
필드가 있습니다 (그리고 그 외 많은 필드는 중요하지 않습니다). 많은 레코드가 있습니다. videos_ratings
테이블에는 , rating
, rated_by
이라는 세 개의 int 필드가 있는데 videos
테이블의 각 필드에 대해 여러 레코드가 있지만 videos
테이블의 모든 레코드는 아닙니다.MySQL 등급 시스템 (두 테이블의 평균 계산)
SELECT `videos`.*, avg(`videos_ratings`.`vote`)
FROM `videos`, `videos_ratings`
WHERE `videos_ratings`.`videoid` = `videos`.`videoid`
GROUP BY `videos_ratings`.`videoid`
ORDER BY RAND() LIMIT 0, 12
그것은 테이블 video_ratings의 등급이 올바르게 평균을 계산 테이블 videos
의 모든 레코드를 선택 :
현재 나는 다음과 같은 MySQL의 쿼리가 있습니다. 하지만 그 레코드에 대한 평가가 있는지 여부와 상관없이 videos
테이블의 모든 레코드를 선택하면됩니다. videos_ratings
테이블의 모든 레코드가 특정 videos
레코드가없는 경우에, 평균 기능 : ... 0
희망 누군가가 내가 원하는 것을 이해할 수
감사를 표시해야합니다!