Reputation: 83
I'm trying to get a SUM of a grouped Count.
my table result is like this.
ID | Name | count
1 k 5
2 k 4
3 a 12
I want a result lik this.
ID | Name | count
1 k 9
3 a 12
These is my real query.
SELECT COUNT( clubs_messages.id_user ) AS nbr, users.name, users.id, users.email
FROM users
JOIN clubs_messages ON users.id = clubs_messages.id_user
GROUP BY clubs_messages.id_user
UNION
SELECT 'SUM' users.name, COUNT( clubs_messages.id_user )
FROM users
JOIN clubs_messages ON users.id = clubs_messages.id_user
So any help please. Thanks
Upvotes: 0
Views: 426
Reputation: 2428
I think you just have to GROUP BY Name instead of user_id. Check the following query
SELECT COUNT( clubs_messages.id_user ) AS nbr, users.name
FROM users
JOIN clubs_messages ON users.id = clubs_messages.id_user
GROUP BY users.name
Upvotes: 3
Reputation: 19635
The issue here is that you are grouping by ID rather than by name:
SELECT COUNT( clubs_messages.id_user ) AS nbr, users.name, users.id, users.email
FROM users
JOIN clubs_messages ON users.id = clubs_messages.id_user
GROUP BY clubs_messages.id_user
To fix this, you'll need to group by name:
SELECT COUNT( clubs_messages.id_user ) AS nbr, users.name, users.id, users.email
FROM users
JOIN clubs_messages ON users.id = clubs_messages.id_user
GROUP BY users.name
Upvotes: 1