Я хочу объединить две таблицы и получить результат, как показано ниже. Кроме того, я хочу получить значение AVG активности на основе идентификатора пользователя. Я пытался это:Как объединить данные по ID и рассчитать среднее значение, sql
SELECT Users.ID, (SELECT AVG(Activity) FROM Activity) AS AVG_Activity, Users.Date_started
FROM Users
INNER JOIN Activity
ON Users.ID=Activity.ID
ORDER BY `ID`;
Но это дает мне результат, где у меня есть ID строки, как в таблице (активность пользователя с ID 1, 2,3 показаны более чем один раз), AVG_activity строка показывает все средние активности пользователей значение, не сгруппированное по идентификаторам и дате начала, в порядке, основанном на идентификаторах пользователя.
Пользователи таблица:
ID Date_started
1 2016-08-03
2 2016-09-12
3 2016-09-13
активность таблица:
ID Activity Activity_Date
1 0.5 2016-09-01
2 0.5 2016-10-01
3 0.7 2016-10-01
1 0.1 2016-10-01
1 0.2 2016-11-01
2 0.5 2016-11-01
3 0.8 2016-11-01
Результат, который я хочу:
ID AVG_Activity Date_started
1 0.26 2016-08-03
2 0.5 2016-09-12
3 0.75 2016-09-13
Должно ли не среднее значение 'ID = 1'' 0,8/3'? – Lamak
Oups, Исправлено! – Martins