zoukankan      html  css  js  c++  java
  • hive grouping sets 等聚合函数

    函数说明:

    grouping sets
    在一个 group by 查询中,根据不同的维度组合进行聚合,等价于将不同维度的 group by 结果集进行 union all
    cube
    根据 group by 的维度的所有组合进行聚合
    rollup
    是 cube 的子集,以最左侧的维度为主,从该维度进行层级聚合。

    -- grouping sets 
    select 
           order_id,
           departure_date,
           count(*) as cnt
      from ord_test
     where order_id=410341346
     group by order_id,
           departure_date
     grouping sets (order_id,(order_id,departure_date))
    ;
    
    ---- 等价于以下
    group by order_id
    union all
    group by order_id,departure_date
    
    -- cube
    select 
           order_id,
           departure_date,
           count(*) as cnt
      from ord_test
     where order_id=410341346
     group by order_id,
           departure_date
     with cube
     ;
    
    ---- 等价于以下
    select count(*) as cnt from ord_test where order_id=410341346
    union all
    group by order_id
    union all
    group by departure_date
    union all
    group by order_id,departure_date
    
    -- rollup
    select 
           order_id,
           departure_date,
           count(*) as cnt
      from ord_test
     where order_id=410341346
     group by order_id,
           departure_date
     with rollup
     ;
    
    ---- 等价于以下
    select count(*) as cnt from ord_test where order_id=410341346
    union all
    group by order_id
    union all
    group by order_id,departure_date

    结果:grouping_sets, cube, rollup

  • 相关阅读:
    01、启动优先和安全设置
    5、bam格式转为bigwig格式
    1、蛋白质二级结构预测方法
    12、IGV-Integrative Genomics Viewer
    docker-compose 工具安装
    docker-compose.yml 语法说明
    docker 镜像和容器的批量清理
    rancher 笔记 之 rancher应用中心
    golang 学习笔记
    docker registry 搭建
  • 原文地址:https://www.cnblogs.com/kimbo/p/8445434.html
Copyright © 2011-2022 走看看