|
使用 group by cube() 实现组合
SELECT DECODE(GROUPING(A),1,'A')||DECODE(GROUPING(B),1,'B')||DECODE(GROUPING(C),1,'C')||DECODE(GROUPING(D),1,'D') COB,
SUM(NUM) SUMS
FROM (select 'A' a,NULL b,NULL c,NULL d,100 num from dual
union all
select NULL,'B',NULL,NULL,100 from dual
union all
select NULL,NULL,'C',NULL,100 from dual
union all
select NULL,NULL,NULL,'D',100 from dual )
GROUP BY CUBE(a,b,c,D)
having a||b||c||d IS NULL
order by 1
[ 本帖最后由 pnixinq 于 2008-4-16 15:44 编辑 ] |
|