首页 > 其他 > 详细

Hive_CASE WHEN

时间:2019-11-06 00:17:29      阅读:106      评论:0      收藏:0      [点我收藏+]

数据准备

name

dept_id

sex

悟空

A

大海

A

宋宋

B

 

 

凤姐

A

婷姐

B

婷婷

B

需求

求出不同部门男女各多少人。结果如下: 

A     2       1
B     1       2

创建本地emp_sex.txt,导入数据

[atguigu@hadoop102 datas]$ vi emp_sex.txt
悟空    A    男
大海    A    男
宋宋    B    男
凤姐    A    女
婷姐    B    女
婷婷    B    女

创建hive表并导入数据

create table emp_sex(
name string, 
dept_id string, 
sex string) 
row format delimited fields terminated by "\t";
load data local inpath /opt/module/datas/emp_sex.txt into table emp_sex;

按需求查询数据

select 
    dept_id
    sum(case sex when sex=‘男‘ then 1 else 0 end) man_count
    sum(case sex when sex=‘女‘ then 1 else 0 end) women_count
from 
    emp_sex
group by
    dept_id;

 

Hive_CASE WHEN

原文:https://www.cnblogs.com/Tunan-Ki/p/11802448.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!