比如有个表:
分类    名称     数量
A类      a       17
A类      b       2
B类      c       5
A类      a       2
A类      a       7
A类      b       12
B类      c       11如何才能统计出如下结果
分类    名称     数量     占分类比     占总数比
A类     a        26        65%           46.43%
A类     b        14        35%           25%
B类     c        16        100%          28.57%谢谢各位高手帮助

解决方案 »

  1.   

    select  A.分类,A.名称,sum(A.数量)/(select sum(数量) from tb),sum(数量)/(select sum(数量) from tb where A.分类=分类)
    from tb A
    group by A.分类,A.名称
      

  2.   


    select 分类,名称,sum(数量),
    sum(数量)/(select sum(数量) from 比如有个表 where 分类=a.分类) as 占分类比,
    sum(数量)/(select sum(数量) from 比如有个表) as 占总数比
    from 比如有个表 a
    group by 分类,名称
      

  3.   

    计算出的结果占类比不对,类比的意思就是比如a占整个A类的比率,b占整个A类的比率,c占整个B类的比率,而且查询的表就一个表没有另外的表了,麻烦各位大哥了
      

  4.   

    我是初学者,我现在不明白from tb A这句话的意思,tb是我现在的表,那A是哪个表呢?我数据库里只有tb这一个表
      

  5.   

    ---a是取表的别名
    select 分类,名称,sum(数量),
        sum(数量)/(select sum(数量) from 比如有个表 where 分类=a.分类) as 占分类比,
        sum(数量)/(select sum(数量) from 比如有个表) as 占总数比
    from tb a
    group by 分类,名称