I have a table with 3 columns which looks like this:
File User Rating (1-5)
------------------------------
00001 1 3
00002 1 4
000
Alternatively, you can do the old-school way — arguably easier to grok:
select usr.User as User ,
usr.Rating as Rating ,
usr.N as N ,
(100.0 * item.N) / total.N as Pct
from ( select User, Rating , count(*) as N
from Results
group by User , Rating
) usr
join ( select User , count(*) as N
from Results
group by User
) total on total.User = usr.User
order by usr.User, usr.Rating
Cheers!