hive sql练习_Hive工作和面试常见的练习题----借鉴他人练习(5)

47ee52f4f44d6c376b50651c4f276dc5.png

感谢该博主总结的思路,为hive学习和面试提供系统性的指导,本文是借鉴该楼主的文章进行练习,无眠:数据分析面试必备——SQL你准备好了吗?

f4232051ffbd833786bf6bde7fbc4949.png

一、最基本

1.选择某列

select 

2.表连接:多张表中,想选取多个字段?

select 

知识点:join

be5be28899f86c4835ea2a546724e427.png

05cc0d82bec93daad37d15a7e031eb2b.png

b9c035cc2db372c0c6a9769cf495c975.png

知识点:union和join的区别

二、最常用(多重组合)

fcbad037d6bd2b44490fbcb3219de230.png

1、如果有千万用户数据,想知道有多少去重的用户数?—— 去重 distinct

罗列不同的

2、想分性别进行统计,看看男女各多少?—— 聚合函数和groupby

#

易错点:直接写select count(*) from table_1 group by sex;没有对相同的id进行去重,非常重要!!!!!!!!!!!!

3、只想查看A公司的男女人数数据?—— 筛选 where/having

#

4、希望查询结果从高到低/从低到高排序?—— 排序 orderby

#

5、将数值型的变量转化为分类型的变量? —— casewhen 条件函数

此种情况常见于将某列进行分类或者分组

#

6、字符串的相关常见函数

  • concat(a,b.....)返回的是a和b的连在一起的字符串
select 
  • split(str,regex)用于将string类型按regex提取,分割后转化成array序列
  • 以regex为分隔符分隔str,并返回array序列
  • substr(str,0,len) 截取字符串从0位开始的长度为len个字符。
select 

三、基础进阶

1、不想全局排序,需要分组排序?—— row_number()

select 

7c30d598cb78a1a20d95411267643b46.png

2、想要获取top10%的值?—— percentile 百分位函数、ntile(n)函数也可以做到

3、想要对时间字段进行操作?—— 时间函数

to_date

四、常见笔试/面试题:

学生表:SID,Sname,Sage,Ssex

课程表:CID,Cname,TID

教师表:TID,Tname

成绩表:SID, CID, score

#
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值