Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/postgresql/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在SQL中计算一行中的不同字段_Sql_Postgresql_Amazon Redshift - Fatal编程技术网

如何在SQL中计算一行中的不同字段

如何在SQL中计算一行中的不同字段,sql,postgresql,amazon-redshift,Sql,Postgresql,Amazon Redshift,在我的表中,我有一个字段列表,当它们不为空时,我要对它们进行计数 例如,下面是一些行以及我希望在最后计算的内容: | locks | keys | boxes | what_I_want_count | | 3 | 4 | 5 | *12* | | 2 | 0 | 7 | *9* | | 0 | 0 | 1 | *1* | 你知道怎么做吗?我正在使

在我的表中,我有一个字段列表,当它们不为空时,我要对它们进行计数

例如,下面是一些行以及我希望在最后计算的内容:

| locks | keys | boxes | what_I_want_count |
|   3   |   4  |   5   |     *12*          |
|   2   |   0  |   7   |     *9*           |
|   0   |   0  |   1   |     *1*           |
你知道怎么做吗?我正在使用Postgresql红移

您可以使用coalesce函数,然后添加列

select coalesce(locks, 0) + coalesce(keys, 0) +  coalesce(boxes, 0) from tableA
您可以使用coalesce函数,然后添加列

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

如果所有3列的数据类型都是integer或bigint,则可以使用下面的查询


从T1中选择锁、键、框、锁、键、框作为总计数

如果所有3列的数据类型都是整数或bigint,则可以在下面的查询中使用

从T1中选择锁、键、框、锁、键、框作为总计数,该表中的空值在哪里,您希望它们发生什么?该表中的空值在哪里,您希望它们发生什么?