I have two table data and user. I need to get count of data->value and show only greatest count and user->name.
I tried some query but it's wrong.
SELECT data.value, user.name, data.field, COUNT(*) as count
FROM data
INNER JOIN user
ON data.value = user.id
GROUP BY user.name
HAVING data.field = 'user_id'
ORDER BY count DESC
LIMIT 0,1
DATA
id order_id field value
1 1 user_id 1
2 2 user_id 1
3 3 vehicle_id 1
4 4 user_id 1
5 5 vehicle_id 2
6 6 user_id 2
USER
id name
1 foo
2 joo
3 peter
Current result is
value name field count
1 foo user_id 4
expecting result is
value name field count
1 foo user_id 3