将 Redshift 中的两列相加
Sum Two Columns in Redshift
我正在尝试对两列数据求和并放入一个新列中。但是,当我尝试以下操作时,我总是得到空值。
select metric_name,metric_id,site,week,past,future,abs(sum(past+future)) as total
from base_table
group by metric_name,metric_id,site,week,past,future
metric_name metric_id site week past future
Forecast Est.Hrs 1001 HYD W26-2020 84.435718 0
Forecast Est.Hrs 1001 HYD W25-2020 78.606683 0
Forecast Est.Hrs 1001 HYD W01-2021 0 78.606683
Forecast Est.Hrs 1001 HYD W02-2021 0 78.606683
Forecast Est.Hrs 1001 HYD W43-2020 10.9 78.606683
我需要按以下方式输出
metric_name metric_id site week past future Total
Forecast Est.Hrs 1001 HYD W26-2020 84.435718 0 84
Forecast Est.Hrs 1001 HYD W25-2020 78.606683 0 78
Forecast Est.Hrs 1001 HYD W01-2021 0 78.606683 78
Forecast Est.Hrs 1001 HYD W02-2021 0 78.606683 78
Forecast Est.Hrs 1001 HYD W43-2020 10.9 78.606683 89
请帮忙。这用于在 mysql 中工作,但 Redshift 我在总列中得到空值。
为什么首先要使用聚合?看起来你只是想要一个整数加法,所以:
select metric_name, metric_id, site, week, past, future,
cast(past + future as int) as total
from base_table
我正在尝试对两列数据求和并放入一个新列中。但是,当我尝试以下操作时,我总是得到空值。
select metric_name,metric_id,site,week,past,future,abs(sum(past+future)) as total
from base_table
group by metric_name,metric_id,site,week,past,future
metric_name metric_id site week past future
Forecast Est.Hrs 1001 HYD W26-2020 84.435718 0
Forecast Est.Hrs 1001 HYD W25-2020 78.606683 0
Forecast Est.Hrs 1001 HYD W01-2021 0 78.606683
Forecast Est.Hrs 1001 HYD W02-2021 0 78.606683
Forecast Est.Hrs 1001 HYD W43-2020 10.9 78.606683
我需要按以下方式输出
metric_name metric_id site week past future Total
Forecast Est.Hrs 1001 HYD W26-2020 84.435718 0 84
Forecast Est.Hrs 1001 HYD W25-2020 78.606683 0 78
Forecast Est.Hrs 1001 HYD W01-2021 0 78.606683 78
Forecast Est.Hrs 1001 HYD W02-2021 0 78.606683 78
Forecast Est.Hrs 1001 HYD W43-2020 10.9 78.606683 89
请帮忙。这用于在 mysql 中工作,但 Redshift 我在总列中得到空值。
为什么首先要使用聚合?看起来你只是想要一个整数加法,所以:
select metric_name, metric_id, site, week, past, future,
cast(past + future as int) as total
from base_table