Структура баз данных -> MIRO
- film_id [PK] - id фильма
- name - название фильма
- description - описание фильма
- rating [FK] - id рейтинга фильма
- duration - длительность фильма
- release_date - дата выхода фильма
- film_id [FK] - id фильма
- user_id [FK] - id юзера
- rating_id [PK] - id рейтинга
- name - название рейтинга
- film_id [FK] - id фильма
- genre_id [FK] - id жанра
- genre_id [PK] - id жанра
- name - название жанра
- user_id [PK] - id юзера
- email - email юзера
- login - логин юзера
- name - имя юзера
- birthday_date - дата рождения юзера
- user_id [FK] - id юзера
- user_friend_id [FK] - id юзера друга
- director_id [PK] - id режиссера
- director_name - имя режиссера
- film_id [FK] - id режиссера
- director_id [FK] - имя режиссера
- review_id [PK] - id отзыва
- content - содержание отзыва
- is_positive - тип отзыва
- user_id [FK] - id юзера
- film_id [FK] - id фильма
- useful - рейтинг отзыва
- review_id [FK] - id отзыва
- user_id [FK] - id юзера оценивщего отзыв
- useful - тип оценки (полезность)
- event_id [PK] - id события
- timestamp - дата события
- user_id [FK] - id юзера
- event_type_id [FK] - id типы события
- operation_id [FK] - id операции события
- entity_id - id сущности
- operation_id [PK] - id операции
- name - название операции (удаление, добавление, обновление)
- event_type_id [PK] - id типа события
- name - название события (лайк, отзыв, друзья)
SELECT f.*,
r.*,
COUNT(user_id) likes
FROM user_film_likes ufl
JOIN films f ON ufl.film_id = f.film_id
JOIN rating r ON f.rating_id = r.rating_id
GROUP BY ufl.film_id
ORDER BY likes DESC
LIMIT ?SELECT u.*
FROM users u
JOIN user_friends uf1 ON u.user_id = uf1.friend_id
JOIN user_friends uf2 ON uf1.friend_id = uf2.friend_id
WHERE uf1.user_id = ? AND uf2.user_id = ?;