У меня есть БД, которая представляет собой просто таблицу с 3 столбцами: viewer_id, movie_id, Ranking (INTEGER) (INTEGER) (TEXT)
Где строка в этой таблице представляет, что определенный зритель смотрелопределенный фильм.
Мне нужно написать запрос, который возвращает: Идентификаторы всех зрителей, которые смотрели не менее 75% всех фильмов, которые смотрел определенный зритель (назовем его Алекс).
Мне удалось что-то, что возвращает все идентификаторы всех зрителей, которые смотрели те же фильмы, что и данный зритель:
SELECT otherss.viewer_id FROM
((SELECT viewer_id,movie_id FROM viewers_movies_rankings
WHERE viewer_id= 313) AS alex
INNER JOIN (SELECT viewer_id,movie_id FROM viewers_movies_rankings
WHERE viewer_id != 313) AS otherz
ON alex.movie_id = otherss.movie_id)
И этот код, который возвращает количество фильмовданный просмотрщик (alex) просмотрел:
SELECT COUNT (*) AS num FROM viewers_movies_rankings WHERE viewer_id = 313
Как я могу выполнить этот запрос?Я изо всех сил пытаюсь использовать «Группировать по» и как подсчитать, сколько одинаковых фильмов смотрели другие зрители.
Спасибо