【问题标题】:How to count different fields in a row in SQL如何计算SQL中一行中的不同字段
【发布时间】:2019-10-16 00:45:56
【问题描述】:

在我的表中,我有一个字段列表,当它们不为 NULL 时,我想计算它们。

例如,这里有一些行和我最后要数的:

| locks | keys | boxes | what_I_want_count |
|   3   |   4  |   5   |     *12*          |
|   2   |   0  |   7   |     *9*           |
|   0   |   0  |   1   |     *1*           |

知道怎么做吗?我正在使用 Postgresql (Redshift)。

【问题讨论】:

  • NULLs 在该表中的什么位置,您希望他们如何处理?

标签: sql postgresql amazon-redshift


【解决方案1】:

您可以使用coalesce() 函数然后添加您的列

select coalesce(locks, 0) + coalesce(keys, 0) +  coalesce(boxes, 0) from tableA

【讨论】:

    【解决方案2】:

    如果所有 3 列的数据类型都是整数或大整数,你可以有下面的查询

    从 T1 中选择 locks,keys,boxes,(locks,keys,boxes) 作为 total_count

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-02-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-07-19
      • 2011-06-24
      相关资源
      最近更新 更多