Ich habe 2 Tabellen (Beispiel):Max & AVG MYSQL INNER JOIN für 2 Tische
Benutzer:
ID company_ID
1 7
2 6
3 7
activity_rewards:
user_ID points activity_type_ID
1 1 7
1 2 7
1 1 7
1 1 8
2 1 7
2 1 7
2 2 8
2 1 7
3 2 7
3 1 7
3 2 8
3 1 8
(Es gibt auch Tische für Unternehmen und activity_types, aber sie sollten hier nicht relevant sein)
Ich brauche eine MYSQL-Abfrage, die die Summe der Punkte f summiert oder jeder Benutzer WHERE
alle Benutzer ein bestimmtes company_ID
und für ein bestimmtes activity_type_ID
und es wird die MAX
und die AVG
der Summe aller Benutzer Punkte
Ich habe zum Beispiel zurück:
SELECT SUM(activity_rewards.points) AS totalpoints,
MAX(activity_rewards.points) AS maxpoints,
AVG(activity_rewards.points) AS avgpoints
FROM activity_rewards
INNER JOIN users
ON activity_rewards.user_ID = users.ID
WHERE ((users.company_ID = "7") && (activity_rewards.activity_type_ID LIKE '8'))
In der Beispiel Abfrage nur 3 Ergebnisse sind beteiligt. Sie sind:
user_ID points activity_type_ID
1 1 8
3 2 8
3 1 8
I erhalten möchten:
- Benutzer 1 hat 1 Punkt
- Benutzer 3 hat 3 Punkte
- Max 3 Durchschnitt 2
statt Ich bekomme Max ist 2 und der Durchschnitt ist 1,33
Sie wollen die max und den Durchschnitt der von Benutzer-ID summierten Punkte dann. – Shadow