好吧,我的表中有这些列:
我需要对进度进行此计算:
progress = SUM(crew_est * manhour_est) WHERE status = 'FINISH') / (SUM(crew_est * manhour_est) WHERE status IS NULL);
我需要进行上面的计算并将结果分组为wo_number。我在任何地方寻找答案,但仍然没有运气,我不知道从哪里开始。
任何帮助将不胜感激。 谢谢。
答案 0 :(得分:2)
您可以使用大小写进行条件聚合:
select wo_Number,
100.0 * SUM(case
when status = 'FINISH'
then crew_est * manhour_est
else 0
end) / SUM(case
when status is null
then crew_est * manhour_est
else 0
end) progress_percentage
from your_table
group by wo_number;