MySql 合计计算
MySql calculation in aggregate
我使用公式 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 列是正确的)。
感谢大家的帮助!
如评论中所述,以下解决方案将起作用:
((sum(chemicals.TotalT) / sum(area.m2)) * 1000000) as C
我使用公式 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 列是正确的)。
感谢大家的帮助!
如评论中所述,以下解决方案将起作用:
((sum(chemicals.TotalT) / sum(area.m2)) * 1000000) as C