答案 0 :(得分:0)
不知道您使用的数据库,请尝试使用Oracle。 首先,您需要创建一个包含新列PERCENT_COMPLETED
的新表 select STATE,WIDGETS_REQUIRED,WIDGETS_COMPLETED,
WIDGETS_COMPLETED/WIDGETS_REQUIRED*100 | '%' as PERCENT_COMPLETED
from table;
然后你需要在其中插入一个新行
select
'Total' as STATE,
sum(WIDGETS_REQUIRED) as WIDGETS_REQUIRED,
sum(WIDGETS_COMPLETED) as WIDGETS_COMPLETED,
sum(WIDGETS_COMPLETED)/sum(WIDGETS_REQUIRED)*100 | '%' as PERCENT_COMPLETED
into new_table
from table;
答案 1 :(得分:0)
在MYSQL中,我尝试了这个解决方案。 首先,插入一个包含3个值的行:STATE,WIDGETS_REQUIRED,WIDGETS_COMPLETED。您可以稍后插入这3个值,但现在插入它们会更方便。
insert into FIGURE_A values
("TOTAL", 48, 33);
其次,添加一列:percent_complete
alter table FIGURE_A
ADD percent_complete decimal(5,2);
在这里你应该注意到你需要添加一个约束。见this question.
因此,我们需要添加检查约束:
alter table FIGURE_A
ADD constraint chk_range CHECK (percent_complete>=0 and percent_complete<=100);
最后,我们只需添加百分比值。见here。计算百分比的方法有很多种。 this question更适合您的情况,因为您需要更新,而不仅仅是计算。
update FIGURE_A
set percent_complete = WIDGETS_COMPLETED*100/WIDGETS_REQUIRED
final result可能如下所示。