我正在尝试将我的列命名为目标,其中measured_component等于特定条件并将其添加到我的表但是遇到了麻烦。最后,我想为我的当前表添加4个新行,其中所有列都为null,除了time_value,它将是基于条件的每个总数的月份。
我正在使用以下查询。
select sum(TARGET) as TARGET_TOTAL
from REF_targets
where MEASURED_COMPONENT ='dispatch'
or MEASURED_COMPONENT='acknoweledge'
or MEASURED_COMPONENT= 'DRIVE'
or MEASURED_COMPONENT= 'ENROUTE'
group by TIME_VALUE
当我对条件进行分组时,我的总和会得到一个疯狂的数字,但如果我创建单独的查询,我会获得正确的总数。
select time_value
, sum(TARGET) as TARGET_TOTAL
from REF_targets
where MEASURED_COMPONENT ='dispatch'
group by TIME_VALUE
我无法使用此查询选择所有内容,因为我不断收到错误消息,说我需要将所有列添加到组中,最终为我提供了一个镜像,表示我已经为目标创建了一个新的目标列。
请帮忙,
谢谢!
答案 0 :(得分:2)
由于您没有在GROUP BY
中放置MEASURED_COMPONENT,因此您获得的数字很大。这应该为每个MEASURED_COMPONENT提供总和。
select TIME_VALUES, MEASURED_COMPONENT, sum(TARGET) as TARGET_TOTAL
from REF_targets
where MEASURED_COMPONENT ='dispatch'
or MEASURED_COMPONENT='acknoweledge'
or MEASURED_COMPONENT= 'DRIVE'
or MEASURED_COMPONENT= 'ENROUTE'
group by TIME_VALUES, MEASURED_COMPONENT