;>>> 2012/03/19 12:06 -0400, Steven Staples >>>> SELECT `user_id`, GROUP_CONCAT(DISTINCT `login_ip`) AS 'login_ips', COUNT(`id`) AS 'connections' FROM `mysql_test` WHERE `login_datetime` BETWEEN '2012-03-19 00:00:00' AND '2012-03-19 23:59:59' GROUP BY `user_id` HAVING COUNT(`id`) > 2 ORDER BY COUNT(`id`) DESC LIMIT 0, 15;
.... user_id login_ips connections ------- ----------------------------------- ------------- 1 192.168.0.200 (1),192.168.0.201 (3) 5 Is this possible to do with just 1 query? If so, how would I go about doing it?? <<<<<<<< Yes, but with two levels: the inner level (a virtual table) groups by both "user_id" and "login_ip", with COUNT; the outer as above, except from the inner level, not right from table "mysql_test", and with not COUNT but SUM of the inner COUNTs. By the way, I would do this: WHERE DATE(`login_datetime`) = '2012-03-19' -- MySQL General Mailing List For list archives: http://lists.mysql.com/mysql To unsubscribe: http://lists.mysql.com/mysql