Try this:
SELECT Agentid,SUM(AmountReceived) as Amount,@rownum := @rownum + 1 AS Rank
FROM TableName,(SELECT @rownum := 0) r
GROUP BY AgentID
ORDER BY SUM(AmountReceived) DESC
Result:
AGENTID AMOUNT RANK
1 13200 1
2 8000 2
3 4000 3
See result in SQL Fiddle.
EDIT:
For year-wise and month-wise result:
SELECT Agentid,year(logintime) as Year,monthname(logintime) as Month,SUM(AmountReceived) as Amount,@rownum := @rownum + 1 AS Rank
FROM TableName,(SELECT @rownum := 0) r
GROUP BY AgentID,year(logintime),monthname(logintime)
ORDER BY SUM(AmountReceived) DESC
Result:
AGENTID YEAR MONTH AMOUNT RANK
1 2013 October 13200 1
2 2013 October 8000 2
3 2013 October 4000 3
Result in SQL Fiddle.