oracle 统计查询,行列转换。 根据 年代 和 类型 统计出数据个数。横--类型 纵--年代
发布网友
发布时间:2022-04-08 11:00
我来回答
共1个回答
热心网友
时间:2022-04-08 12:29
select nvl(c.year,'总计') year,
sum(decode(c.type, '类型A', c.cnt, 0)) 类型A,
sum(decode(c.type, '类型B', c.cnt, 0)) 类型B,
sum(decode(c.type, '类型C', c.cnt, 0)) 类型C,
sum(decode(c.type, '类型D', c.cnt, 0)) 类型D,
sum(cnt) 总计
from (select a.year, a.type, count(1) cnt
from luoj_tmp_t a
group by a.year, a.type
order by a.year) c
group by rollup(year) order by c.year
如果是不定列的,就用动态SQL加存储过程,按类型把SQL拼起来,直接加个VIEW就可以。