Oracle中Rollup()函数的用法:统计报表中使用
rollup 配合 goup by 命令使用,可以提供信息汇总功能(类似于"小计")
下面是一个简单例子:
StringBuilder sbSel = new StringBuilder();
sbSel.Append(" SELECT NVL(COUNTY, '合计') 区县,");
sbSel.Append(" COUNT(*) 项目总数,");
sbSel.Append(" NVL(SUM(DECODE(DESIGN_CMT_STATE, '已提交', 1)), 0) 已提交项目设计,");
sbSel.Append(" NVL(SUM(DECODE(DESIGN_PLAN_STATE, '通过', 1)), 0) 审批通过设计方案,");
sbSel.Append(" NVL(SUM(DECODE(DESIGN_PLAN_STATE, '不通过', 1)), 0) 审批不通过设计方案 ");
sbSel.Append(" FROM JN_OBJECT WHERE COUNTY IS NOT NULL ");
sbSel.Append(" GROUP BY ROLLUP(COUNTY)");