数据库入门day06之数据汇总
汇总数据
union合并
group by rollup()
组合方法
rollup(abc):(a,b,c) (a,b) (a) ()
rollup与union区别
rollup写法方便
执行效率和性能更高
汇总行无关列用null填充
group by cube()
相比rollup,cube得到更多的汇总数据
组合方法
cube((a,b),c):((a,b),c) (a,b) (c) ()
grouping sets
灵活组合,包含rollup与cube所有的组合方法
等价
cube(a,b,c)等价于grouping sets((a,b,c),(a,b),(a,c),(b,c),(a),(b),(c),())
rollup(a,b,c)等价于grouping sets((a,b,c),(a,b),(a),())
grouping
查看汇总行并区分null
rollup cube都会产生null,实际数据也可能含有null
实际数据产生的null,grouping函数返回0,否则返回1