我正在使用 sql-server。我有一个包含公司列表值的表。我希望锻炼每个公司的百分比作为此列表的一部分。请参见下面的示例
name value wgt%
abc 10
plm 15
xyz 25
所以上面是我有的,下面是我想要的,
name value wgt%
abc 10 20
plm 15 30
xyz 25 50
我试过类似的方法:
update D_COMP_VALUES
set wgt = value / sum(value)
最佳答案
使用子选择获取总和:
update D_COMP_VALUES
set wgt = 100 * value / (select sum(value) from D_COMP_VALUES)
但是存储计算值通常不是一个好主意。相反,创建一个 View ,它永远不会有不一致的数据!
关于sql - 更新并使用 sum 来计算列值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30397937/