rollup (department_id, employee_id)
先是对department_id和employee_id 整体分组,然后再对department_id进行分组
之后再department_id(括号内第一个参数) 进行分组得出的结果做和
所以rollup的结果是有n+1层次的结果
第一层: department_id,employee_id
第二层: department_id
第三层: 对第二层的结果求和
rollup(a,b) 统计列包含:(a,b)、(a)、()
rollup(a,b,c) 统计列包含:(a,b,c)、(a,b)、(a)、()
cube(department_id ,employee_id)
先是对department_id 和employee_id整体分组,
然后对department_id进行分组,
之后再对employee_id分组,
最后求和
得出的结果有n+1个层次
第一层:department_id,employee_id
第二层:department_id 和 employee_id
第三层: 求和
cube(a,b) 统计列包含:(a,b)、(a)、(b)、()
cube(a,b,c) 统计列包含:(a,b,c)、(a,b)、(a,c)、(b,c)、(a)、(b)、(c)、()
grouping: 返回值是0或1
grouping函数是用于显示该列值在分组时是否参与其中
对以上两个分组函数而言
第一层: 0 ,0
第二层: 对department_id 进行统计,则 0,1 相当于employee_id 参与了分组
对employee_id 进行统计,则 1, 0 相当于department_id 参与了分组
第三层:1,1 统计求和,相当于department_id 和employee_id 均参与了分组
grouping set
将各分组项产生的结果union all起来
先是对department_id和employee_id 整体分组,然后再对department_id进行分组
之后再department_id(括号内第一个参数) 进行分组得出的结果做和
所以rollup的结果是有n+1层次的结果
第一层: department_id,employee_id
第二层: department_id
第三层: 对第二层的结果求和
rollup(a,b) 统计列包含:(a,b)、(a)、()
rollup(a,b,c) 统计列包含:(a,b,c)、(a,b)、(a)、()
cube(department_id ,employee_id)
先是对department_id 和employee_id整体分组,
然后对department_id进行分组,
之后再对employee_id分组,
最后求和
得出的结果有n+1个层次
第一层:department_id,employee_id
第二层:department_id 和 employee_id
第三层: 求和
cube(a,b) 统计列包含:(a,b)、(a)、(b)、()
cube(a,b,c) 统计列包含:(a,b,c)、(a,b)、(a,c)、(b,c)、(a)、(b)、(c)、()
grouping: 返回值是0或1
grouping函数是用于显示该列值在分组时是否参与其中
对以上两个分组函数而言
第一层: 0 ,0
第二层: 对department_id 进行统计,则 0,1 相当于employee_id 参与了分组
对employee_id 进行统计,则 1, 0 相当于department_id 参与了分组
第三层:1,1 统计求和,相当于department_id 和employee_id 均参与了分组
grouping set
将各分组项产生的结果union all起来