hive学习04-员工部门表综合案例
知识点:
格式转换: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-员工部门表综合案例的更多相关文章
- Mysql 设计超市经营管理系统,包括员工信息表(employee)和 员工部门表(department)
互联网技术学院周测机试题(二) 一.需求分析 为进一步完善连锁超市经营管理,提高管理效率,减少管理成本,决定开发一套商品管理系统,用于日常的管理.本系统分为商品管理.员工管理.店铺管理,库存管理等功能 ...
- 员工部门表综合查询SQL
--数据库的表设计如下: --部门:部门编号,部门名称,地址: --员工:员工编号,员工名字,职务,管理编号,入职日期,薪资,奖金,部门编号: --创建部门表: CREATE TABLE dept( ...
- 【Hbase学习之四】Hbase表设计案例
环境 虚拟机:VMware 10 Linux版本:CentOS-6.5-x86_64 客户端:Xshell4 FTP:Xftp4 jdk8 hadoop-2.6.5 hbase-0.98.12.1-h ...
- Hive案例05-学生成绩表综合案例
1. 数据说明 (1) student表 hive> select * from student; # 学生ID 学生姓名 性别 年龄 所在系 # sid sname sex age dept ...
- hive学习笔记_hive的表创建
创建hive表注意事项 一.表分隔符必须与读取的数据文件一致,比如例子的分隔符为 '\t'(制表符),hive下默认分隔符是制表符. 二.最好指定分区作为数据之间的区分. 三.创建完表可以desc+表 ...
- hive学习5(复制表结构)
hive复制表结构 CREATE TABLE new_table LIKE old_table; 例:创建一个和stg_job表一样表结构的s_job表 create table s_job like ...
- Linux学习笔记——例说makefile 综合案例
0.前言 从学习C语言開始就慢慢開始接触makefile,查阅了非常多的makefile的资料但总感觉没有真正掌握makefile,假设自己动手写一个makefile总认为非常吃力.所以特意借 ...
- 大数据学习----day27----hive02------1. 分桶表以及分桶抽样查询 2. 导出数据 3.Hive数据类型 4 逐行运算查询基本语法(group by用法,原理补充) 5.case when(练习题,多表关联)6 排序
1. 分桶表以及分桶抽样查询 1.1 分桶表 对Hive(Inceptor)表分桶可以将表中记录按分桶键(某个字段对应的的值)的哈希值分散进多个文件中,这些小文件称为桶. 如要按照name属性分为3个 ...
- 数据仓库009 - SQL命令实战 - where GROUP BY join 部门综合案例
一.where条件 WHERE 子句中主要的运算符,可以在 WHERE 子句中使用,如下表: 运算符 描述 = 等于 <> 不等于.注释:在 SQL 的一些版本中,该操作符可被写成 != ...
随机推荐
- ****** 五十 ******、软设笔记【UML分析和意义】-类图、对象图、状态图、活动图、顺序图、协作图、构件图、部署图,动静态模式
一.类图(Class Diagram) 描述一组类.接口.协作已经它们之间的图,用来显示系统中各个类的静态结构图. 类之间的关系(relationship) *依赖(dependency) *泛化(g ...
- Handy Collaborator :用于挖掘out-of-band类漏洞的Burp插件介绍
本文我将介绍一个新的 Burp Suite插件Handy Collaborator.Burp Suite Collaborator是添加到Burp Suite的外部服务器,主要用于挖掘那些仅来自外部服 ...
- group by having 判断重复的有几条数据
判断字段id和字段zhi重复的条数 group by 和having 解释:前提必须了解sql语言中一种特殊的函数:聚合函数,--例如SUM, COUNT, MAX, AVG等.这些函数和其它函数的根 ...
- CMD之入门篇
本博文最早是记录在本地电脑的,由于清理电脑的缘故,顺便将这篇笔记转移到公共博客,以便日后查阅和快速上手使用. 开门见山,步入正题,以下是Windows系统的常用CMD命令. 一 文件系统操作 0.[脚 ...
- luogu P3767 膜法
传送门 这题如果没有删除操作,可以直接使用可持久化并查集 注意到这种可持久化的依赖关系(是这样说的把)是一棵树,然后对于一个点,自己的操作会影响自己的那棵子树,并且如果是删除操作,就会使得一个子树没有 ...
- python前后端加密方式
后端加密方法: python后端加密方式: # 双重工加密 #bytes((7788).encode('utf-8')):为后端加密二把手,多加的锁,该参数可为空,必须加bytes才能实现 md5pa ...
- [国家集训队] Crash 的文明世界
不错的树形$ DP$的题 可为什么我自带大常数啊$ cry$ 链接:here 题意:给定一棵$ n$个节点的树,边权为$ 1$,对于每个点$ x$求$ \sum\limits_{i=1}^n dist ...
- web.xml的作用
一般web项目都会自动创建一个 web.xml 但是也可以不用 下面是我目前的配置 <?xml version="1.0" encoding="UTF-8" ...
- 最短路径&次短路径算法
容易理解:https://blog.csdn.net/m0_37345402/article/details/76695930 https://blog.csdn.net/qq_36386435/ar ...
- MySQL报错解决方案:2013-Lost connection to MySQL server
今天上课的时候,在搭建完MySQL测试环境中出现的问题,整理如下: 问题描述:搭建完MySQL,用远程连接工具(Navicat)连接时报错: 2013-Lost connection to MySQL ...