Задача: Напишите решение для:
- Найдите имя пользователя, который оценил наибольшее количество фильмов. В случае равенства, верните лексикографически меньшее имя пользователя.
- Найдите название фильма с самым высоким средним рейтингом в February 2020. В случае равенства верните лексикографически меньшее название фильма.
Дано:
Таблица: Movies
movie_id - это первичный ключ (столбец с уникальными значениями) для этой таблицы.
title - это название фильма.
Таблица: Users
user_id - это первичный ключ (столбец с уникальными значениями) для этой таблицы.
Таблица: MovieRating
(movie_id, user_id) - это первичный ключ (столбец с уникальными значениями) для этой таблицы.
Эта таблица содержит оценку фильма пользователем в его обзоре.
created_at - дата просмотра пользователем.
Решение:
(select u.name as results
from users u left join Movierating m on u.user_id=m.user_id
group by u.name
order by count(m.movie_id) desc, u.name limit 1)
union
select results from (
select mo.title as results,m.created_at
from MovieRating m left join Movies mo on mo.movie_id=m.movie_id
where left(m.created_at,7)="2020-02"
group by mo.title
order by avg(m.rating) desc, mo.title limit 1) a;
Результат: