0
2つのテーブルを結合して、以下のように結果を受け取っています。私はユーザーIDに基づいて活動のAVG値を受け取りたいと思う。 私はこの試みていた:私は、アクティビティテーブルのようにID列を持っている場合に生じるIDでデータをまとめて平均値を計算する方法
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 1を持つユーザ、2,3回以上示されている)、AVG_activity行は、すべてのユーザ活動の平均を示していますIDにグループ化されていない値と開始日は、ユーザーIDに基づいてOKです。
ユーザーテーブル:
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