Рассчитать среднюю оценку значений, которые существуют в 2 столбцах - PullRequest
0 голосов
/ 30 января 2019

Ниже приведена схема, представление и данные, которые содержит представление

CREATE TABLE movie_cast (
  movie_id INTEGER,
  cast_id INTEGER,
  cast_name TEXT
);
CREATE VIEW good_collaboration AS SELECT a.cast_id cast_member_id1 ,b.cast_id cast_member_id2, COUNT(*) as movie_count, AVG(movies.score) as average_movie_score FROM movie_cast as a, movie_cast as b INNER JOIN movies ON a.movie_id = movies.id AND b.movie_id = movies.id WHERE a.cast_id<b.cast_id GROUP BY cast_member_id1, cast_member_id2 HAVING COUNT(*) >= 3 AND AVG(movies.score) >= 40
SELECT * FROM good_collaboration;
cast_member_id1|cast_member_id2|movie_count|average_movie_score
162652152|162652154|3|46.0
162652152|162652155|3|46.0
162652152|162652156|3|46.0
162652152|162656296|3|46.0
162652152|178810494|3|46.0
162652152|418638213|3|46.0
162652152|507677272|3|46.0
162652152|753745005|3|46.0
162652152|770726713|3|46.0
162652154|162652155|3|46.0
162652154|162652156|3|46.0
162652154|162656296|3|46.0
162652154|178810494|3|46.0
162652154|418638213|3|46.0
162652154|507677272|3|46.0
162652154|753745005|3|46.0
162652154|770726713|3|46.0
162652155|162652156|3|46.0
162652155|162656296|4|51.5
162652155|178810494|4|51.5
162652155|418638213|4|51.5
162652155|507677272|3|46.0
162652155|753745005|3|46.0
162652155|770726713|3|46.0
162652156|162656296|3|46.0
162652156|507677272|3|46.0
162652156|753745005|3|46.0
162652156|770726713|3|46.0
162652763|162652764|3|56.6666666666667
162652763|162652765|3|56.6666666666667
162652763|162657036|3|56.6666666666667
162652764|162652765|3|56.6666666666667
162652764|162657036|3|56.6666666666667
162652765|162657036|3|56.6666666666667
162655731|162656296|4|49.25
162655731|162656403|3|47.6666666666667
162655731|162661579|6|47.0
162655731|162663355|6|47.0
162655731|162665747|6|47.0
162655731|178810494|6|44.3333333333333
162655731|358317901|3|42.3333333333333
162655731|418638213|6|43.5
162655731|425838884|7|48.0
162656296|162656403|3|47.6666666666667
162656296|162661579|3|47.6666666666667
162656296|162663355|3|47.6666666666667
162656296|162665747|3|47.6666666666667
162656296|178810494|5|42.2
162656296|358317901|3|42.3333333333333
162656296|418638213|6|46.8333333333333
162656296|425838884|4|49.25
162656296|507677272|3|46.0
162656296|753745005|3|46.0
162656296|770726713|3|46.0
162656403|162661579|3|47.6666666666667
162656403|162663355|3|47.6666666666667
162656403|162665747|3|47.6666666666667
162656403|418638213|3|47.6666666666667
162656403|425838884|3|47.6666666666667
162661579|162663355|6|47.0
162661579|162665747|6|47.0
162661579|178810494|5|42.4
162661579|418638213|5|41.4
162661579|425838884|6|47.0
162663355|162665747|6|47.0
162663355|178810494|5|42.4
162663355|418638213|5|41.4
162663355|425838884|6|47.0
162665747|178810494|5|42.4
162665747|418638213|5|41.4
162665747|425838884|6|47.0
178810494|358317901|3|42.3333333333333
178810494|425838884|6|44.3333333333333
178810494|507677272|3|46.0
178810494|753745005|3|46.0
178810494|770726713|3|46.0
196103011|309684316|3|43.3333333333333
326391032|770685050|3|83.0
358317901|418638213|3|42.3333333333333
358317901|425838884|3|42.3333333333333
418638213|425838884|6|43.5
418638213|507677272|3|46.0
418638213|753745005|3|46.0
418638213|770726713|3|46.0
507677272|753745005|3|46.0
507677272|770726713|3|46.0
753745005|770726713|3|46.0

Ниже приведено описание проблемы.Я могу получить среднее значение, если cast_member_id существует в столбце 1, но не могу включить его, если оно существует в column #2.

Найти лучших соавторов.Получите 5 актеров с наивысшими средними баллами из представления good_collaboration, сделанного в последней части, и назовите этот балл collaboration_score.Эта оценка является средним значением average_movie_score, соответствующим каждому участнику, включая актеров в cast_member_id1 и cast_member_id2.Сортировать выходные данные в порядке убывания этой оценки. Сортировать по алфавиту cast_name в случае совпадения в счете

Формат вывода:

            cast_id,cast_name,collaboration_score
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...