添加数据库的列以获得总和然后除以得到百分比

时间:2013-02-22 20:37:52

标签: php mysql sum

我在这样的数据库中有信息:

shoe size name    weight
9         bob     150
9         tom     250
9         joe     100
5         billy   75
5         franky  80
etc.

你明白了。我想通过鞋子大小来加权,然后将每一个除以得到百分比。因此鞋子尺码9将是500.然后通过每个尺寸的总和除以...因此bob将是鞋子尺寸组9的30%,汤姆将是鞋子尺寸组9的50%并且乔将是鞋子的20%规模组9

关于如何做到这一点的任何想法?

1 个答案:

答案 0 :(得分:1)

SELECT SUM(weight) as sum, COUNT(*) as count
FROM mytable
GROUP BY size

这将为您提供权重和每个大小的数量之和,然后您可以得到平均值

或者如果您想一次性完成

  SELECT  size, SUM(weight)/COUNT(*) as average
    FROM mytable
    GROUP BY size

编辑 - 我误解了您的问题,这是一个可以执行您所要求的查询

   SELECT  b.name,  b.weight/sum(a.weight) as average  
   FROM  table as a JOIN table as b on a.size=b.size     
   WHERE  1 group by a.size, b.name