Имеется следующая таблица-
CREATE TABLE help (user_id INT, film_id INT, price INT, source VARCHAR(10));
Которая содержит следующие данные
INSERT INTO help(user_id, film_id, price, source) VALUES(1, 3,52, 'netflix'), (2, 5,100, 'amazon'), (1, 6,10, 'netflix'), (5, 2,51,'amazon');
Где user_id - ID пользователя, film_id - ID фильма, price - цена и scource - платформа, на которой смотрели фильм.
и таблица
CREATE TABLE watch (user_id INT, film_id INT, lenght INT);
INSERT INTO watch (user_id, film_id, lenght) VALUES(1, 3, 322), (2, 5, 232);
Где user_id - ID пользователя, film_id - ID фильма и length - время просмотра фильма.
Задача - найти найти сумму потраченных средств (SUM(price)) и среднее время просмотра фильма, для каждой категории
Нужно сделать в одном запросе.
Сумму можем вычислить так -
SELECT SUM(price) as s FROM help GROUP BY scource;
Среднее время так
SELECT AVG(length) FROM watch w JOIN help h ON h.user_id=w.user_id and h.film_id=w.film_id GROUP BY h.source)
Но как совместить в один запрос? Как в вложенный select передать только IDшники, относящиеся к нужной категории?