Calculating percentages with GROUP BY query

后端 未结 5 519
太阳男子
太阳男子 2020-12-05 06:28

I have a table with 3 columns which looks like this:

File    User     Rating (1-5)
------------------------------
00001    1        3
00002    1        4
000         


        
5条回答
  •  孤街浪徒
    2020-12-05 07:17

    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!

提交回复
热议问题