分组依据 - 忽略输出中的空值

时间:2014-09-01 09:54:03

标签: sql database postgresql

SELECT transacao,
       sum(contravalor),
       sum(valorin),
       sum(valorout),
       divisain,
       divisaout,
       cotacao
FROM caixas_bak
GROUP BY transacao,
         divisain,
         divisaout,
         cotacao

我收到了这个输出,

transacao      sum         sum           sum       divisain   divisaout cotacao
514171         NULL        NULL     147.300000      NULL          EUR         NULL
514171      150.800000 200.000000        NULL        USD          NULL       0.754000

但是我需要这样的东西:

 transacao  sum              sum          sum      divisain   divisaout cotacao
 514171     150.800000   200.000000  147.300000    USD        EUR        0.754000

基本上,我需要忽略组中的空值。

我该怎么做?

1 个答案:

答案 0 :(得分:2)

在这种情况下,您可以使用MAX代替GROUP BY

SELECT transacao,
       SUM(contravalor),
       SUM(valorin),
       SUM(valorout),
       MAX(divisain),
       MAX(divisaout),
       MAX(cotacao)
FROM caixas_bak
GROUP BY transacao