select x1,x2,x3... from (
with mx as (
select x1,x2,x3,(select x4 from m where ... and rownum <2 ) x4,...
from x,y,z
where ...
)
select x1,x2,x3... from mx
union all
select x1,
x2,
'' x3,
...
sum(x7) x7,
sum(x8) x8,
sum(x9) hj
from mx
group by ROLLUP(x1, x2)
) t
order by x1,x2,x3...
with mx as (
select x1,x2,x3,(select x4 from m where ... and rownum <2 ) x4,...
from x,y,z
where ...
)
select x1,x2,x3... from mx
union all
select x1,
x2,
'' x3,
...
sum(x7) x7,
sum(x8) x8,
sum(x9) hj
from mx
group by ROLLUP(x1, x2)
) t
order by x1,x2,x3...