目录
本文详细记录了函数grouping sets使用时遇到的坑,全文代码基于Hive和Presto实现。
1. 问题讨论
1.1 数据准备
首先建立商品销售表:
CREATE TABLE temp.goods_sale_info(
`province` string comment '省份',
`city` string comment '城市',
`goodsid` string comment '商品编号',
`goodsname` string comment '商品名称',
`sales_qty` decimal(38,5) comment '销量',
`sales_amt` decimal(38,5) comment '销售额'
)
ROW FORMAT DELIMITED FIELDS TERMINATED BY ',';
insert into table temp.goods_sale_info
values ('江西省','南昌市','1000','可口可乐','10','40')
,('福建省','福州市','1000','可口可乐','200','1000')
,('福建省','厦门市','1000','可口可乐','300','1500')
,('福建省','厦门市','1200','百事可乐','200','1000')
,('福建省','厦门市','2000','伊利安慕希','300','21000');
select * from temp.goods_sale_info
再建立一个商品信息表:
CREATE TABLE temp.goods_info(
`goodsid` string comment '商品编号',
`goodsname` string comment '商品名称',
`catgory_id` string comment '商品种类编号',
`catgory_name` string comment '商品种类'
)
ROW FORMAT DELIMITED FIELDS TERMINATED BY ',';
insert into table temp.goods_info
values ('1000','可口可乐',