Hive中如何添加额外GROUP BY以实现按年度输出汇总数据?
解决方法
你只需要移除where year = "2015"这个过滤条件,同时保留现有的group by year, product分组逻辑,就能输出所有年份的各产品销售汇总数据。
修改后的SQL:
select year, product, sum(sales) as total_sales from database group by year, product order by year asc, product asc;
关键说明:
- 原SQL里的
where year = "2015"会把结果限定在2015年,删掉它之后查询就会包含数据库里所有年份的记录。 - 你当前的
group by year, product已经是按「年份+产品」的组合维度做分组求和,完全满足你要输出每一年信息的需求。 - 给
sum(sales)加上别名total_sales是为了让结果列的含义更明确(这一步是可选的,但建议加上)。 - 调整
order by为year asc, product asc,能让结果先按年份排序,同一年份下再按产品排序,展示逻辑更清晰(这一步也是可选的)。
内容的提问来源于stack exchange,提问作者Dave Diggler
相关产品推荐
相关产品推荐

