oracle分组汇总统计函数grouping

grouping(columnA)函数的意思:当前行如果是由rollup汇总产生的,那么columnA这个字段值为1否则为0

ROLLUP,是GROUP BY子句的一种扩展,可以为每个分组返回小计记录以及为所有分组返回总计记录。

decode(条件,值1,返回值1,值2,返回值2,...值n,返回值n,缺省值)。

元数据:

通过grouping查询后的数据:

SQL

select decode(grouping(f_line)+grouping(f_workarea),1,'小计',2,'总计',f_workarea) f_workarea,
decode(grouping(f_workarea),1,count(*)||'条',f_line) f_line,
sum(f_pagesnumber) sum_pagesnumbers  
from t_testcount 
group by rollup (f_line,f_workarea);

猜你喜欢

转载自blog.csdn.net/m_crayon/article/details/104405971