Apologies, I had misread that you want users, not agents.
I threw this together quickly, let me know if it works.
Select Top 1000000 htblusers.name,
Format(htblticket.date, 'yyyy-MM') As Month,
Count(htblticket.ticketid) As Tickets
From htblusers
Left Join htblticket On htblticket.fromuserid = htblusers.userid
Where htblticket.ticketid Is Not Null
Group By htblusers.name,
Format(htblticket.date, 'yyyy-MM')
Order By Month Desc,
Tickets Desc,
htblusers.name
Personally I would take the per-month logic out of the report and track it separately.