数据之旅20190506

20190506

从今天开始每天进步一点点,先定一个小目标——成为月薪8000+的数据分析师

背景:2018年8月份进入了这家公司,职位是数据工程师,主要负责公信力产品、网格化治理、ETL数据清洗、数据接口制作、对接客户、上报、kettle技能教授、Oracle技巧教授等工作。

PS:接下来每天写日记,记录生活,改变生活。

既然给自己设立的目标是成为8k的数据分析师、ETL工程师、BI工程师,就有几个是必须满足的技能。

  • Oracle中sql学习,系统的梳理和总结,难点反复看,这是最最最基础的
  • kettle知识系统性梳理、小技能掌握(循环、传参、等等)
  • 业务知识

这礼拜先计划复习这么多

今天还是在处理网格化治理的数据,就是简单的处理数据,然后上传,学不到什么技术上的东西,业务上的逻辑也不是很懂,毕竟是过完五一才刚刚接手的这个小项目o(╥﹏╥)o。

Oracle看了3天视频,看了一半,感觉模拟翻页没什么用过。

模拟翻页
其中crrrentpage代表当前页数,pagesize代表一页数据的容量

select * from 
	(select rownum RN,a.* from [表名] a)
where RN between ([crrrentpage]-1)*[pagesize]+1 and [currentpage]*[pagesize]

我记得以前写过个需求,截取每个身份证最近10条的违法记录

方法一:
select * from 
	(select rownum RN,a.* from [表名] a where sfzh = ? order by create_time desc)
where RN < 11

--其中?代表传递进去的参数,可以通过kettle传递参数,循环传递身份证,依次获取前10条违法记录

方法二:
select * from (
	select  a.*
	row_number() over (partition by a.sfzh order by create_time desc) rn   
	from [表名] a
	where  sfzh is not null      
) where rn <= 10
--方法二是当时网上学来的,函数伪列?按身份证分类,创建时间倒叙,在弄个序号?从结果上来看就是这样的,但用法没见过,明天掌握这个小知识点

参考资料:https://blog.csdn.net/u011194983/article/details/54929214

你可能感兴趣的:(日记)