I need to group by an aggragate function. I have a bunch of users and I need to add up all their points, whether or not they have any. Need to list all users (and only distinct), then I need to sort by Points, Last Name.

Here is what I have. It has two problems. Unable to get all users and can not sort (group by) points.

QUERY:
SELECT SUM(Leave_Points.Points) AS MaxPoints, LeaveRequests.TakenBy, SUM(LeaveRequests.Hours) AS tltHours, LeaveRequests.LeaveDate,Users.DeptID
FROM Leave_Points INNER JOIN
LeaveRequests ON Leave_Points.LeaveID = LeaveRequests.LeaveID RIGHT OUTER JOIN
Users ON Leave_Points.UserID = Users.UserID
WHERE (Users.DeptID = '1') AND (LeaveRequests.LeaveDate>'1/1/2005')
Group BY Hours,TakenBy,LeaveDate,Users.DeptID

Result:
MaxPoints UserID Hours LeaveDate DeptID
0.0 8 4 2009-02-26 00:00:00 1
0.5 624 12 2009-02-23 00:00:00 1
0.5 624 12 2009-03-11 00:00:00 1
0.5 624 12 2009-03-17 00:00:00 1
0.5 648 12 2009-03-18 00:00:00 1
0.5 644 13 2009-02-27 00:00:00 1
1.0 7 24 2009-04-01 00:00:00 1
1.0 113 24 2009-04-15 00:00:00 1
1.0 643 24 2009-04-21 00:00:00 1
1.0 645 24 2009-03-05 00:00:00 1
1.0 656 24 2009-02-26 00:00:00 1
1.0 656 24 2009-04-23 00:00:00 1
1.0 657 24 2009-02-26 00:00:00 1

Any thoughts?