Hive基本查询操作(一)第2关:group by操作

17 篇文章 7 订阅
7 篇文章 0 订阅

相关知识

group by

group by表示按照某些字段的值进行分组,有相同的值放到一起,需要注意的是select后面的非聚合列必须出现在group by中;

假设存在st表:

citysalaryjob
长沙7000大数据开发
北京10000大数据开发
广州11000大数据开发
长沙7000大数据开发

可以使用group by求出不同省份的平均工资:

select city,avg(salary)from st group by city;

输出:

 
  1. 长沙 7000
  2. 北京 10000
  3. 广州 11000

编程要求

在右侧编辑器中补充SQL,计算不同工作年限以及其平均工资并且过滤出平均工资大于10000的。(其中库名:db1,表名:table1

table1表结构:

INFOTYPE
eduLevel_nameString
company_nameString
jobNameString
salaryint
city_codeint
responsibilityString
workingExpString

本地部分文件内容:

  1. 本科,北京联通支付有限公司,大数据开发工程师,10000,530,熟练使用hive等,1-3年
  2. 专科,北京联科数创科技有限公司,大数据分析师,8000,530,熟练使用MySQL等数据库,1-3年
  3. 本科,湖南智湘赢播网络技术有限公司,大数据开发工程师,16000,749,熟练使用spark等,3-5年

----------禁止修改----------
create database if not exists db1;
use db1;


create table if not exists table1(
eduLevel_name string comment '学历',
company_name string comment '公司名',
jobName string comment '职位名称',
salary int comment '薪资',
city_code int comment '城市编码',
responsibility string comment '岗位职责',
workingExp string comment '工作经验'
)
row format delimited fields terminated by ','
lines terminated by '\n'
stored as textfile;
truncate table table1;
load data local inpath '/root/t1.txt' into table table1;
----------禁止修改----------

----------Begin----------
select avg(salary) as avgsalary,workingExp from table1 group by workingExp having avgsalary > 10000;
----------End----------




  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值