数据采集、数据处理积累
1、数据去重
Oracle去重脚本(通过rowid):select * from person t where t.rowid=(select max(rowid) from person t1 where t1.id_card_no = t.id_card_no)
SqlServer去重脚本(通过一张表的自查询比较):select * from person t where not exists (select 1 from person t1 where t1.id_card_no =t.id_card_no and t1.patient_id<t.patient_id)
注意:id_card_no为person表内身份证号码属性
2、数据更新
方法一:
merge into person_info a
using ehr.ph_person_info b
on (a.person_info_id = b.person_info_id)
when matched then
update set a.photo_url = b.photo_url ;
commit;
方法二:
UPDATE person_info a
SET a.photo_url =
(SELECT b.photo_url
FROM ehr.ph_person_info b
WHERE a.person_info_id = b.person_info_id
AND b.photo_url IS NOT NULL)
WHERE EXISTS (SELECT b.photo_url
FROM ehr.ph_person_info b
WHERE a.person_info_id = b.person_info_id
AND b.photo_url IS NOT NULL);
必须加上WHERE条件,如果不加上有两处影响1,a表有多少条记录就会执行多少条,影响效率;2,a表photo_url如果有值,b表的photo_url没值会被更新为空,使数据出现错误。
3、查看数据源中的数据是否存在重复
SELECT t.CBRID as PATIENT_ID
, t.CZYH as INPATIENT_FORM_NO
, t.IBH as DIAGNOSIS_ID ,
count(*)
FROM TBZYZDXX t where t.CZDLB=1
group by t.CBRID
, t.CZYH
, t.IBH
having count(*)>1;
使用having语句。
4,使用case when then时是要注意,then的值要和目标表的类型一样,否则不成功
5、oracle恢复误删表
flashback table dim_organization to before drop;
6、使用left join的时候尽量不要使用(select *)
7、kettle抽取数据时表中一定要建立主键,否则效率太低(几十倍的效率)
8、kettle乱码解决
打开spoon.bat,在if "%PENTAHO_DI_JAVA_OPTIONS%"=="" set PENTAHO_DI_JAVA_OPTIONS="-Xms1024m" "-Xmx2048m" "-XX:MaxPermSize=256m"
后面加了"-Dfile.encoding=UTF-8",再重启即可解决乱码。
9、mysql 时间问题 0000-00-00
使用case when 判断语句
10、抽取数据时,如果联合主键为空 需要设置默认值
11、with的用法
with bb as(select * from dual),
cc as (select * from dual) select * from bb left join cc on bb.id=cc.id
12、子查询返回多个值
用group by确保子查询没有重复数据
13、orcl中数据加减乘除 需要判断字段是否为空 用nvl(字段名,0)
14、ORA-01438: 值大于为此列指定的允许精度 修改字段长度
15、必填项为空 提示不能将null值插入到数据库
方法一 case when
方法二 decode(字段,条件,结果,条件,结果)
16、用kettle抽取MySQL数据到Oracle时,提示内存不足,执行下列语句扩大内存
show variables like '%max_allowed_packet%';
set global max_allowed_packet= 1024*1024*50;
17、varchar2字段长度不够 需要修改为clob或者blob类型
需要先修改为long类型 再修改为clob类型
18、sqlserver、mysql、oracle获取系统时间
getdate()、SYSDATE() 、sysdate
19、sqlserver、mysql、oracle生成uuid
newId()、uuid()、sys_guid()
20、可以用这个 让索引可见、不可见 (起不起作用) 来分析走哪个索引好:
alter index INDEX_PH_ORGANIZATION5 invisible;
alter index INDEX_PH_ORGANIZATION5 visible;
转载于:https://my.oschina.net/ciVa1Wi2bM/blog/1832266
数据采集、数据处理积累相关推荐
- 大数据的数据采集数据处理_让我们处理大数据
大数据的数据采集数据处理 作为开发人员,我们的重点是简单,有效的解决方案,因此,最有价值的原则之一就是"保持简单和愚蠢". 但是使用Hadoop map-reduce很难坚持这一点 ...
- 深入浅出:移动端(Android 和 iOS)数据采集埋点 SDK
随着大数据时代的到来,越来越多公司注意到数据带来的价值,开始自建或购买一些第三方的数据平台.从数据流的角度看,平台对于数据的处理,一般有以下几个步骤: 其中,数据采集工作是后面几个步骤的基础,数据采集 ...
- 怎么用vc采集ni卡数据_利用labview、matlab和c实现非ni接口卡的数据采集及处理
利用LabVIEW .MATLAB 和C 实现非NI 接口卡的数据采集及处理** 周旭欣1 董兵超1 向明礼2 李拥秋1 袁支润1? (1.四川大学生物力学研究所,成都:610065:2.四川大学化工 ...
- 自拍会不会被大数据_不会搭建大数据平台,我被老板优化了...
[51CTO.com原创稿件]随着业务的飞速发展,信息化作为业务的支撑,各个企业都建立了自己的信息化系统. 图片来自 Pexels 在业务增涨过程中,每个企业不知不觉积累积累了一些数据.无论数据是多是 ...
- 人工智能期末考试复习(贲可荣 张彦铎)
人工智能期末考试复习(贲可荣 张彦铎) 人工智能的3个主流学派: 逻辑学派(符号主义方法):物理符号系统(即符号操作系统)假设和有限合理性原理 仿生学派(联结主义方法):神经网络及神经网络间的连接机制 ...
- 专访中国数据科技集团CEO林道进:把无序变有序 让数据更有价
他是我国传媒科技界的优秀精英,"新闻技术"(也称传媒科技)."新闻采编系统"的概念定义者,第一届"王选新闻科技杰出人才奖"获奖人,多次荣获& ...
- 数字时代,企业如何重新定义商业智能BI
本篇文章为亿信华辰<数字时代,企业如何重新定义商业智能BI>视频直播稿件. 大家晚上好,欢迎来到小亿直播间!本次直播我们分享的主题是:数字时代,企业如何重新定义商业智能BI?我们将会从6个 ...
- (三)如何成为优秀的数据分析师
四重境界 深度 指数据分析对企业的支持度:What.Why.How 信度 指分析结果的可靠度.要有信度,需满足三个条件:对比要可比.差异要显著.描述要全面 效度 指分析效率:通过速度和成本来衡量.速度 ...
- Apollo进阶课程⑪ | Apollo地图生产技术
目录 高精地图生产流程 数据采集 数据处理 元素识别 人工验证 全自动数据融合加工 基于深度学习的地图要素识别 人工验证生产 地图成果 原文链接:进阶课程⑪ | Apollo地图生产技术 高精地图是自 ...
最新文章
- 2022-2028年中国钢化玻璃行业市场研究及前瞻分析报告
- 剑指offer:面试题14- I. 剪绳子
- 【Vulnhub靶机系列】DC1
- 【汇编语言】上机实验 win7/8/10 64位系统 进入32位DOS模式 实现dubug/edit/masm/link功能
- set_bit() 等位函数分析! \linux-1.0\linux\include\asm\bitops.h
- 阿里云大数据利器Maxcompute-使用mapjoin优化查询
- Redis工作笔记-Redis安装及基本配置
- 吴恩达深度学习 —— 2.18(选修)逻辑回归损失函数的解释
- 数据库MySQL(课下作业,必做)
- 都是执行软件测试,差异点在那里
- 把合同中红色印章实现打印不显示方法
- docker初学记录--运行应用程序
- PCAN-USB FD选型使用比较
- 互联网二次造富:从技术公司到运营平台的蜕变
- 数据中心机房效果图鉴赏
- Android串口通信:串口读写
- NOIP2016 “西湖边超萌小松鼠” 模拟赛
- linux 内存与磁盘管理
- php 友盟推送角标,android集成友盟推送实现离线在线推送及桌面图标角标设置
- PaperWeekly 第32期 | 基于知识图谱的问答系统关键技术研究 #01