【问题标题】:How to sum the values of two columns and have it in a new one? [closed]如何将两列的值相加并将其放入新列中? [关闭]
【发布时间】:2022-01-21 08:07:09
【问题描述】:

我正在尝试将两列的值相加成一个新列,用于分析目的(不在数据库中创建新列) 我尝试使用 case 语句,但我不知道发生了什么:
(基本上我想说的是:如果 2 列的总和等于或大于 1,则计数它为 1,如果为 0 或 null 则跳过并返回零) 请看附图

【问题讨论】:

  • 请包括您当前的查询。
  • sum(当 speciality_count + italian_count >= 1 THEN 1 ELSE 0 END 时的情况)AS twocount
  • 您想要的似乎与图像中提供的数据无关。
  • 我不明白你的意思,我想将前两列相加并在第三列中表示结果,但由于某种原因结果不准确:)
  • 为什么存在twocount?第二张图片是理想的结果吗?您目前解决问题的尝试是什么?顺便说一句,你能分享文本数据而不是图像吗?

标签: mysql sql database snowflake-cloud-data-platform datagrip


【解决方案1】:

如果你想得到两列的总和,你只需要正确处理空值。

SELECT COALESCE(speciality_count, 0) + COALESCE(Italian_count, 0)
FROM table_name 

【讨论】:

  • 仍然向我显示不准确的数字...例如。第 1 列 = 4,第 2 列 = 26,结果 = 24
  • 我不确定我是否正确理解了您的问题。如果您尝试将两列中的值相加,您甚至不需要 case 语句。您可以在处理完空值后简单地添加它们。
  • 是的,你是对的,它是这样工作的……起初我害怕空值。谢谢你:)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-12-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多