按ID分组,但NULL记录除外

时间:2019-05-28 15:41:29

标签: sql oracle aggregate-functions

我正在处理下表:

**ID    Value   Data**
1        30     25/4
1        20     26/4
1        20     27/4
3        10     25/4
4        20     26/4
5        30     26/4
NULL     50     25/4
NULL     10     26/4

我需要查询表并得到下一个结果:

**ID    Value   Data**
1        70     25/4
3        10     25/4
4        20     26/4
5        30     26/4
NULL     50     25/4
NULL     10     26/4

我有这个查询:

select id, sum(value), min(data)
from t
group by id;

但是查询将对NULL ID求和

我该怎么做?

1 个答案:

答案 0 :(得分:2)

最简单的方法可能是union all

select id, sum(value), min(data)
from t
where id is not null
group by id
union all
select id, value, data
from t
where id is null;