首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >配置单元查询:按状态分组数据并获取十年计数

配置单元查询:按状态分组数据并获取十年计数
EN

Stack Overflow用户
提问于 2014-02-07 18:40:02
回答 1查看 572关注 0票数 0

我是一个蜂巢新手,这看起来对我来说是一个棘手的问题。任何帮助都将不胜感激。我们有国家事故数据,我们有按月和按年的事故统计数据。

我们如何按状态对数据进行分组,将所有月份的事故数字相加,得出12年的总和。输出应为State name,Acciden Type:。事故类型包括“道路事故”、“铁路-公路事故”、“其他铁路事故”。

我们创建了下面的表和data can be found here

代码语言:javascript
运行
复制
create table accidents_data(STATE string,Year string,AcciddentType string,JANUARY int,FEBRUARY int,MARCH int ,APRIL int,MAY int,JUNE int,JULY int,AUGUST int,SEPTEMBER int,OCTOBER int,NOVEMBER int,DECEMBER int)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY ','
LINES TERMINATED BY '\n'
STORED AS TEXTFILE;
EN

回答 1

Stack Overflow用户

发布于 2014-02-07 19:04:47

正如我在数据中看到的,您错过了Hive模式中的最后一列"TOTAL“。如果该列存在,则以下查询将完成您的工作。

代码语言:javascript
运行
复制
select STATE, AcciddentType, sum(TOTAL) as GrandTotal
where AcciddentType!='Total'
group by STATE, AcciddentType;

更新:如果Hive模式中没有最后一列"TOTAL“,那么下面的查询将起作用:

代码语言:javascript
运行
复制
select STATE, AcciddentType, (
sum(JANUARY) +
sum(FEBRUARY) +
sum(MARCH) +
sum(APRIL) +
sum(MAY) +
sum(JUNE) +
sum(JULY) +
sum(AUGUST) +
sum(SEPTEMBER) +
sum(OCTOBER) +
sum(NOVEMBER) +
sum(DECEMBER)
) as GrandTotal
where AcciddentType!='Total'
group by STATE, AcciddentType;
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21625525

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档