O método mais simples é provavelmente
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;
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;