MySql聚合计算

MySql聚合计算,mysql,aggregate-functions,Mysql,Aggregate Functions,我使用公式C=A/B*1000000创建了这个计算“C”的工作语句 这与预期一样有效,C柱计算正确: Select chemicals.Region As Region, chemicals.Totalt As `A`, `area`.`m2` As `B`, ((chemicals.Totalt / `area`.`m2`) * 1000000) As C From (chemicals Join `area` On chemicals.branch = `area`.branch) 现在我

我使用公式C=A/B*1000000创建了这个计算“C”的工作语句

这与预期一样有效,C柱计算正确:

Select chemicals.Region As Region,
chemicals.Totalt As `A`,
`area`.`m2` As `B`,
((chemicals.Totalt / `area`.`m2`) * 1000000) As C
From (chemicals Join `area` On chemicals.branch = `area`.branch)
现在我需要在聚合报告中使用相同的公式,因此我尝试了以下方法:

Select chemicals.Region As Region,
sum(chemicals.Totalt) As `A`,
sum(`area`.`m2`) As `B`,
sum( ((chemicals.Totalt / `area`.`m2`) * 1000000)) As C
From (chemicals Join `area` On chemicals.branch = `area`.branch) GROUP BY Region
但是“C”的值计算不正确

我相信有一种方法可以做到这一点,但简单地在“C”计算中添加一个求和函数是不正确的。(顺便说一下,A列和B列是正确的)


谢谢你的帮助

如评论中所述,以下解决方案将起作用:

((总和(化学品总量)/总和(面积m2))*1000000)为C

未测试,但由于
化学物质
总量和
面积
m2
是聚合的,它是否与
sum(((sum(chemicals.Totalt)/sum(area.m2))*1000000)一起作为C
工作?这帮助我解决了问题。这项工程:((总和(化学物质总量)/总和(面积平方米))*1000000)以及C。嗯,对。我的外和在这里没有任何意义。很高兴它帮助了你@Drudge,写下答案让OP接受