Привет, я надеюсь, что вы хорошие парни
Я хочу выбрать похожие фильмы на основе категорий фильмов
, поэтому у меня есть эти таблицы в моей базе данных
table movies :id,title,......,date
table movie_categories : id,id_movie,id_category
table categories : id,category
, где категорияпросто: боевик, драма, .....
Я маленький нуб в SQL-запросах, так что я надеюсь, что кто-то может мне помочь
, и я попробовал это до сих пор
SELECT m.*,COUNT(mc.*) AS cat_frequency
FROM movies m,movie_categories mc
WHERE mc.id_category IN (SELECT c.id_category FROM movie_categories c WHERE id_movie = 1)
ORDER BY cat_frequency
где 1 - идентификатор фильма, который пользователь просматривает в данный момент
ожидаемый результат - это все данные фильма и с частотой совпадения категорий
для примера, скажем, у текущего просматриваемого фильма есть категории: боевик, фантастика, драма
, поэтому сначала по порядку будут смотреть фильмы с одинаковыми категориями (100%: с одинаковыми категориями), а затем фильмы (66,66%: сопоставлены только 2 категории).и так далее ...
примечание: я могу сделать это в php, но я хочу сделать это с sql