栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

Hive SQL 练习

Hive SQL 练习

Hive SQL 常见需求集锦


需求一: 2021年9月购买过得用户/ 顾客及总人数

select
name ,
count(1) over(rows between unbouned preceding and unbounded following)
from 
w_orders
where
year(time) = '2021-09'
group by name;


需求二: 顾客的购买明细信息以及每月购买总额

select 
name,time,cost
sum(cost) over(partition by name,substring(time,1,7) order by time) month
from
w_orders;

需求三: 顾客的购买明细信息以及按时间累计总额


select 
name,time,cost
sum(cost) over(partition by name  order by time) costs
from
w_orders;


需求四: 顾客的购买明细信息以及上次的购买时间
select 
name,time,cost
lag(time,1,'-----') over(partition by name  order by time) last_cost
from
w_orders;


需求五: 顾客购买明细信息以及本月第一次购买时间
select 
name,time,cost
first_value(time) over(partition by name,substring(time,1,7)  order by time) time
from
w_orders;


顾客购买明细信息以及本月最后一次购买时间
select 
name,orderdate,cost,
 LAST_VALUE(orderdate,true) over(partition by name,substring(orderdate,1,7) order by orderdate  ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) lastorderdate 
 from business;


查询前 40% 时间的订单信息
select name,orderdate,cost from 
    (select name,orderdate,cost,cume_dist() over(order by orderdate) cumedist from business) tmp 
    where cumedist<0.2;
 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/746268.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号