I'm not a sql expert by any means, but this might work...
select top 3
u.user_name
,g.year
,g.name
from [users] u
inner join user_grading g
on u.userid = g.userid
order by g.year desc
EDIT ==================
Okay then, try this:
select u.user_name
,g.year
,g.name
from [users] u
inner join user_grading g
on u.userid = g.userid
where g.year >= DATEPART(year, GETDATE()) - 2
order by u.user_name, g.year desc
Have you ever considered actually trying stuff yourself?