2015-09-30 126 views
0

我已经创建了此工作语句,用于使用公式C = A/B * 1000000来计算“C”。总计的MySql计算

可正常工作并且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列是正确的)。

感谢您的帮助!

+1

没有测试,但是由于'chemicals'.'Totalt'和'area'.'m2'聚集,做它使用sum(((sum(chemicals.TotalT)/ sum(area.m2))* 1000000))作为C'? – Drudge

+0

这帮我解决了问题。这工作:((sum(chemicals.TotalT)/ sum(area.m2))* 1000000)为C. – user2298034

+0

好吧,对。我的外在总和在这里没有任何意义。很高兴帮助你! – Drudge

回答

0

正如评论想通了,下面的解决方案将工作:

((sum(chemicals.TotalT)/sum(area.m2)) * 1000000) as C