here is query
SELECT `mpv`.`member_id` as member_id, `screen_name`, `viewed_url`,
count(viewed_url) as viewed_url_cnt
FROM (`tracker` mpv)
JOIN `members` m ON `mpv`.`member_id`=`m`.`member_id`
GROUP BY `viewed_url`, `member_id`
it returns
+-----------+-------------+------------+----------------+
| member_id | screen_name | viewed_url | viewed_url_cnt |
+-----------+-------------+------------+----------------+
| 1 | admin | / | 1 |
| 1 | admin | /1 | 1 |
| 1 | admin | /2 | 1 |
| 1 | admin | 2 | 1 |
| 1 | admin | 3 | 2 |
| 2 | test | 4 | 1 |
+-----------+-------------+------------+----------------+
6 rows in set (0.12 sec)
I need to get all records which have highest viewed_url_cnt grouped by viewed_url, member_id. So based on results on the top, I whould like to get
+-----------+-------------+------------+----------------+
| member_id | screen_name | viewed_url | viewed_url_cnt |
+-----------+-------------+------------+----------------+
| 1 | admin | 3 | 2 |
| 2 | test | 4 | 1 |
+-----------+-------------+------------+----------------+
6 rows in set (0.12 sec)
Thanks
Try this: