У меня есть две таблицы, videos
и videos_ratings
. Таблица videos имеет поле int videoid
(и многие другие, но я думаю, что эти поля не важны) и множество записей. Таблица videos_ratings
имеет 3 поля типа int: videoid
, rating
, rated_by
, в которых имеется много записей (несколько записей для каждого поля из таблицы 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
Он выбирает все записи из таблицы videos
, которые имеют рейтинг в таблице video_ratings, и правильно вычисляет среднее значение. Но мне нужно выбрать все записи из таблицы videos
, независимо от того, есть оценка для этой записи или нет. И если в таблице videos_ratings
для этой конкретной записи videos
нет записей, функция усреднения должна показывать 0.
Надеюсь, кто-то мог понять, чего я хочу ...:)
Спасибо!