Looks like you posted to the wrong message group, but I'll respond anyway...
I tried your code and it worked perfectly for me on a few of my tables (where MyGroups is a numeric list of all the groups that users belong to, and Groups is the lookup table for the numeric listing):
SELECT p.group_id, c.group_name FROM MyGroups p
LEFT JOIN Groups c ON p.group_id = c.group_id
GROUP BY p.group_id ORDER BY c.group_name ASC;
This returned something similar to the following:
1, Admin
4, All Employees
3, Engineering
7, Operations
6, Project Management
2, Sales
5, Service
So what's the problem?