Skip to Content
Presto实战
book

Presto实战

by Matt Fuller, Manfred Moser, Martin Traverso
March 2021
Intermediate to advanced
265 pages
6h 50m
Chinese
Posts & Telecom Press
Content preview from Presto实战
Presto
中使用
SQL
143
8.16
 分组操作
你已经学习了基本的
GROUP BY
和聚合操作。
Presto
还支持
SQL
标准中的高级分组操作。
使用
GROUPING SETS
CUBE
ROLLUP
,用户可以在单个查询中对多个集合进行聚合操作。
分组集合允许你在同一个查询中按照多个列的列表进行分组。假设我们想按照
(state,
city, street)
(state, city)
(state)
进行分组。如果没有分组集合,则你必须针对每
种分组运行单独的查询,然后再合并结果;而有了分组集合,
Presto
可以根据每个集合计
算分组,结果
schema
是所有集合中列的联合。对于不属于组的列,将添加
NULL
ROLLUP
CUBE
可以用
GROUPING SETS
来表示,这是它的一种简写。
ROLLUP
用于生成基于层
次结构的分组集合,例如
ROLLUP(a, b, c)
生成分组集合
(a, b, c)
(a, b)
(a)
()
;而
CUBE
则操作生成所有可能的分组组合,例如
CUBE(a, b, c)
生成分组集合
(a, b, c)
(a, b)
(a, c)
(b, c)
(a)
(b)
(c)
()
假设你想计算每个细分市场的账户余额总额,同时计算所有细分市场的账户总余额:
SELECT mktsegment,
round(sum(acctbal), 2) AS total_acctbal,
GROUPING(mktsegment) AS id
FROM tpch.tiny.customer ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Start your free trial

You might also like

大数据项目管理:从规划到实现

大数据项目管理:从规划到实现

Ted Malaska, Jonathan Seidman
Google系统架构解密: 构建安全可靠的系统

Google系统架构解密: 构建安全可靠的系统

Heather Adkins, Betsy Beyer, Paul Blankinship, Piotr Lewandowski, Ana Oprea, Adam Stubblefield

Publisher Resources

ISBN: 9787115560056