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

Hive练习题之窗口函数构造辅助列

Hive练习题之窗口函数构造辅助列

建表

create table if not exists test.tb_ab(
A string,
B int
)
row format delimited fields terminated by ",";

导入数据

vim /doit/tb_ab
2010,1
2011,1
2012,1
2013,0
2014,0
2015,1
2016,1
2017,1
2018,0
2019,0
load data local inpath "/doit/tb_ab" into table test.tb_ab;

解法:

使用窗口函数

select a,b,c,row_number() over(partition by b,c order by a) as d
from (
select  a,b,a - row_number() over(partition by b order by a ) as c
from tb_ab
)t

使用mysql变量

SELECt A
 ,B
 ,C
FROM(
   SELECt A
       ,B 
       ,@C := 
   	CASE 
           WHEN @B = B
               THEN @C + 1
           ELSE 1
           END AS C
       ,@B := B AS B1
   FROM tb_ab ) t 
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/730495.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

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

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