使用SUM使列中的NULL变为NULL

时间:2009-08-17 16:18:34

标签: mysql database postgresql

我有一个包含列组INTEGER NULL的表。它有值

5
7
<NULL>

如果我选择总和(组)形式table_name
我会得到12.当被求和的列为空时,我怎么能得到null。

2 个答案:

答案 0 :(得分:6)

一个选项:

CASE WHEN COUNT(*) = COUNT(groups) THEN SUM(groups) ELSE NULL END

答案 1 :(得分:2)

select
  case when exists (select groups from table where groups is null) then null
       else select sum(groups) from table
  end as grp_sum