SELECT email AS `Email` , GROUP_CONCAT( distinct group_name ORDER BY group_name SEPARATOR ', ' ) AS `Groups` , count(votes.id) as `# Votes` FROM users_and_groups , users LEFT OUTER JOIN votes ON users.id = votes.user_id WHERE users_and_groups.user_id = users.id GROUP BY users_and_groups.user_id ORDER BY is_admin DESC , Groups , Email ASC