首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >配置单元sql:计数和平均值

配置单元sql:计数和平均值
EN

Stack Overflow用户
提问于 2016-12-05 21:57:32
回答 1查看 701关注 0票数 4

我最近正在尝试学习Hive,但我遇到了sql咨询的问题。我有一个包含一些信息的json文件。我想要得到每个注册表的平均值。更好的例子:

代码语言:javascript
运行
复制
country  times
USA      1
USA      1
USA      1
ES       1
ES       1
ENG      1
FR       1

然后使用下一次咨询:

代码语言:javascript
运行
复制
select country, count(*) from data;

我得到了:

代码语言:javascript
运行
复制
country   times
USA        3
ES         2
ENG        1 
FR         1

然后我就该出场了:

代码语言:javascript
运行
复制
country   avg
USA       0,42  (3/7)
ES        0,28  (2/7)
ENG       0,14  (1/7)
FR        0,14  (1/7)

我不知道如何才能从第一个表中获得这个结果。

我试过了:

代码语言:javascript
运行
复制
select t1.country, avg(t1.tm), 
from (
    select country,count(*)as tm from data where not country is null group by country
) t1
group by t1.country;

但我的出局是错的。

谢谢你的帮助!BR.

EN

回答 1

Stack Overflow用户

发布于 2016-12-05 21:59:18

将每组计数除以总计数即可得到结果。使用Sub-Query查找表中的记录总数

尝尝这个

代码语言:javascript
运行
复制
select t1.country, count(*)/IFNULL((select cast(count(*) as float) from data),0)
from data
group by t1.country;
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40975955

复制
相关文章

相似问题

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