Advertisement

高级分组聚合(Grouping Set)等价于Group By与Union All结合使用

阅读量:

Grouping Set技术应用

grouping sets用于定义多个分组聚合的列。
当与group by结合使用时,能够更灵活地对结果集进行分组操作,grouping sets会对不同层级的数据进行汇总,并将各层级的汇总结果通过union all方式整合在一起,相较于单纯的group by与union all组合方式,其执行效率更为优越。

举个栗子

复制代码
    drop table employee;
    CREATE temporary TABLE employee
    (
      name         String,
      gender       String,
      city         String,
      department   String,
      salary       String
    );
    INSERT INTO employee VALUES ('张三','男','广州','市场部',40);
    INSERT INTO employee VALUES ('李四','男','广州','市场部',50);
    INSERT INTO employee VALUES ('王五','女','深圳','市场部',30);
    INSERT INTO emplo

全部评论 (0)

还没有任何评论哟~