Найти в Дзене

1341. Рейтинг фильма SQL (средний)

Задача: Напишите решение для:

  • Найдите имя пользователя, который оценил наибольшее количество фильмов. В случае равенства, верните лексикографически меньшее имя пользователя.
  • Найдите название фильма с самым высоким средним рейтингом в 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;
Результат:

-2

Источник: https://leetcode.com/problems/movie-rating/