知识点:

格式转换:cast(xxx as int)

按某列分桶某列排序,排序后打标机;例如:求每个地区工资最高的那个人的信息;

ROW_NUMBER() OVER(PARTITION BY COLUMN ORDER BY COLUMN)

row_number() over(distribute by t1.loc sort by cast(t1.sal as int) desc) as index

dept表

hive> select * from dept;
# deptno(部门编号) dname(部门名称) loc(部门所在地区)
ACCOUNTING NEW YORK
RESEARCH DALLAS
SALES CHICAGO
OPERATIONS BOSTON

ump表

hive> select * from ump;

# 员工编号   员工姓名    职务        领导编号     入职日期     工资    奖金    部门编号
# empno ename job mgr hiredate sal comm deptno
SMITH CLERK -- 800.0 0.0
ALLEN SALESMAN -- 1600.0 300.0
WARD SALESMAN -- 1250.0 500.0
JONES MANAGER -- 2975.0 0.0
MARTIN SALESMAN -- 1250.0 1400.0
BLAKE MANAGER -- 2850.0 0.0
CLARK MANAGER -- 2450.0 0.0
SCOTT ANALYST -- 3000.0 0.0
KING PRESIDENT NULL -- 5000.0 0.0
TURNER SALESMAN -- 1500.0 0.0
ADAMS CLERK -- 1100.0 0.0
JAMES CLERK -- 950.0 0.0
FORD ANALYST -- 3000.0 0.0
MILLER CLERK -- 1300.0 0.0 10

(1) 查询总员工数

select count(empno) from ump;

#Total MapReduce CPU Time Spent:  seconds  msec
#OK
#

(2) 查询总共有多少种职位

select count(distinct job) from  ump;
#Total MapReduce CPU Time Spent: seconds msec
#OK
#

(3) 统计每个职位有多少个员工,并且按照数量从大到小排序

select job ,count (*)as emp_cnt
from ump
group by job
order by emp_cnt desc; SALESMAN
CLERK
MANAGER
ANALYST
PRESIDENT

(4) 查询入职最早的员工

select ump.ename,ump.hiredate
from ump
join
(select min(hiredate) as hiredate from ump)t1
where ump.hiredate=t1.hiredate; #SMITH --

(5) 统计出每个岗位的最高工资和平均工资

select job ,max(sal)as max_sale,avg(sal)as min_sale
from ump
group by job;

ANALYST 3000.0 3000.0
CLERK 950.0 1037.5
MANAGER 2975.0 2758.3333333333335
PRESIDENT 5000.0 5000.0
SALESMAN 1600.0 1400.0

 

(6) 查询出每个地区工资最高的员工

select t2.loc,t2.ename,t2.sal
from
(select t1.loc,t1.ename,t1.sal,
row_number() over(distribute by t1.loc sort by cast(t1.sal as int) desc) as index
from
(select dept.loc,ump.ename,ump.sal from
dept join ump
on dept.deptno=ump.deptno)t1
)t2
where t2.index=; #CHICAGO BLAKE 2850.0
#DALLAS FORD 3000.0
#NEW KING 5000.0

(7) 查询上半年入职员工最多的地区

select t1.loc,count(*)as cnt
from
(select dept.loc,ump.ename,
cast(substr(ump.hiredate,,) as int) as hire_month
from dept join ump
on dept.deptno=ump.deptno)t1
where t1.hire_month<=
group by t1.loc
order by cnt desc
limit ; CHICAGO

hive学习04-员工部门表综合案例的更多相关文章

  1. Mysql 设计超市经营管理系统,包括员工信息表(employee)和 员工部门表(department)

    互联网技术学院周测机试题(二) 一.需求分析 为进一步完善连锁超市经营管理,提高管理效率,减少管理成本,决定开发一套商品管理系统,用于日常的管理.本系统分为商品管理.员工管理.店铺管理,库存管理等功能 ...

  2. 员工部门表综合查询SQL

    --数据库的表设计如下: --部门:部门编号,部门名称,地址: --员工:员工编号,员工名字,职务,管理编号,入职日期,薪资,奖金,部门编号: --创建部门表: CREATE TABLE dept( ...

  3. 【Hbase学习之四】Hbase表设计案例

    环境 虚拟机:VMware 10 Linux版本:CentOS-6.5-x86_64 客户端:Xshell4 FTP:Xftp4 jdk8 hadoop-2.6.5 hbase-0.98.12.1-h ...

  4. Hive案例05-学生成绩表综合案例

    1. 数据说明 (1) student表 hive> select * from student; # 学生ID 学生姓名 性别 年龄 所在系 # sid sname sex age dept ...

  5. hive学习笔记_hive的表创建

    创建hive表注意事项 一.表分隔符必须与读取的数据文件一致,比如例子的分隔符为 '\t'(制表符),hive下默认分隔符是制表符. 二.最好指定分区作为数据之间的区分. 三.创建完表可以desc+表 ...

  6. hive学习5(复制表结构)

    hive复制表结构 CREATE TABLE new_table LIKE old_table; 例:创建一个和stg_job表一样表结构的s_job表 create table s_job like ...

  7. Linux学习笔记——例说makefile 综合案例

    0.前言     从学习C语言開始就慢慢開始接触makefile,查阅了非常多的makefile的资料但总感觉没有真正掌握makefile,假设自己动手写一个makefile总认为非常吃力.所以特意借 ...

  8. 大数据学习----day27----hive02------1. 分桶表以及分桶抽样查询 2. 导出数据 3.Hive数据类型 4 逐行运算查询基本语法(group by用法,原理补充) 5.case when(练习题,多表关联)6 排序

    1. 分桶表以及分桶抽样查询 1.1 分桶表 对Hive(Inceptor)表分桶可以将表中记录按分桶键(某个字段对应的的值)的哈希值分散进多个文件中,这些小文件称为桶. 如要按照name属性分为3个 ...

  9. 数据仓库009 - SQL命令实战 - where GROUP BY join 部门综合案例

    一.where条件 WHERE 子句中主要的运算符,可以在 WHERE 子句中使用,如下表: 运算符 描述 = 等于 <> 不等于.注释:在 SQL 的一些版本中,该操作符可被写成 != ...

随机推荐

  1. solr集群SolrCloud(solr+zookeeper)windows搭建

    SolrCloud是什么 参考 solrCloud官网介绍 http://lucene.apache.org/solr/guide/6_6/solrcloud.html Apache Solr 可以设 ...

  2. rabbitMQ学习2-Python与rabbitmq

    python客户端 # rabbitmq官方推荐的python客户端pika模块 pip3 install pika 应用场景1:单发送单接收 1.生产-消费者模型 P 是生产者 C 是消费者 中间h ...

  3. 迅为-IMX6UL开发板丨双网口丨双CAN总线丨4路USB HOST丨2路串口、6路插座引出,共8路串口丨1路RGB信号丨2路LVDS信号

    迅为iMX6UL开发板多路串口开发平台迅为i.MX 6UL开发板基于ARM Cortex-A7内核,主频高达528 MHz,内存:512MDDR3存储:8G EMMC,支持2路CAN,2路百兆以太网, ...

  4. DNN-HMM

    <<DNN-HMM.docx>>

  5. python之实现循环查看指定路径下的所有文件---os.walk

    循环查看指定路径下的所有文件.文件夹,包含隐藏文件注:“.filename” 以点开头的是隐藏文件 import os for cur_path,cur_dirs,cur_files in os.wa ...

  6. 【blog】Hibernate5如何设置SQLite的方言(待更新...)

    参考链接 Hibernate3.Hibernate4.Hibernate5 hibernate5连接sqlite (目前参考的是这个方法)

  7. Springboot(一)概念

    一.概念 Spring boot 用来简化新Spring应用的初始搭建和开发配置. 二.特性 1.创建独立的Spring应用程序,不是对spring功能增强,而是提快速使用Spring的功能: 2.嵌 ...

  8. Delphi线程定时器TThreadedTimer及用法--还有TThreadList用法可以locklist

    Delphi线程定时器 - -人生如歌- - 博客园http://www.cnblogs.com/zhengwei0113/p/4192010.html (* 自己编写的线程计时器,没有采用消息机制, ...

  9. Day19-File操作-创建 删除,文件过滤

    import java.io.File; import java.io.IOException; /* *创建功能: *public boolean createNewFile():创建文件 如果存在 ...

  10. 第五节,损失函数:MSE和交叉熵

    损失函数用于描述模型预测值与真实值的差距大小,一般有两种比较常见的算法——均值平方差(MSE)和交叉熵. 1.均值平方差(MSE):指参数估计值与参数真实值之差平方的期望值. 在神经网络计算时,预测值 ...