【问题标题】:Sum Two Columns in Redshift将 Redshift 中的两列相加
【发布时间】:2021-02-07 10:51:25
【问题描述】:

我正在尝试将两列数据相加并放入一个新列。但是,当我尝试以下操作时,我不断收到 null 值。

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 我在总列中得到空值。

【问题讨论】:

    标签: sql amazon-web-services amazon-redshift aggregate-functions sql-null


    【解决方案1】:

    为什么首先使用聚合?看起来你只想要一个整数加法,所以:

    select metric_name, metric_id, site, week, past, future, 
        cast(past + future as int) as total 
    from base_table 
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-03-20
      • 2022-08-20
      • 1970-01-01
      • 2021-09-24
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多