我想存储给定列的百分比值,但基于其他两个字段的分组:

Select FieldA,FieldB,
       Value/(Select sum(Value) from Table1  group by FieldA,FieldB)
from Table1


一旦我理解正确,我的目标就是将其转变为课程更新,但现在我正在

“ [Err] 1242-子查询返回多于1行”

最佳答案

为此,您需要一个相关的子查询:

Select FieldA, FieldB, Value / (Select sum(Value)
                                from Table1  as t2
                                where t2.FieldA = t1.FieldA AND
                                      t2.FieldB = t1.FieldB)
from Table1 as t1


查询的问题是子查询返回多个值:每个FieldA, FieldB组一个,而执行标度操作则需要一个标量值。使用相关性,子查询将返回标量值:与当前Value值相对应的FieldA, FieldB之和。

关于mysql - 根据分组存储列的百分比,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36250814/

10-11 05:00