别说,立即干货知识。

1.oracle反复数据信息清除。

1.建立数据测试。

sql去除重复数据语句-sql中三种去重的方式-第1张图片create table test_duplicate_removal( c001 number, c002 varchar2(100));insert into test_duplicate_removal values(101, 'aa');insert into test_duplicate_removal values(102, 'aa');insert into test_duplicate_removal values(103, 'aa');insert into test_duplicate_removal values(104, 'bb');insert into test_duplicate_removal values(105, 'bb');insert into test_duplicate_removal values(106, 'cc');insert into test_duplicate_removal values(107, 'cc');insert into test_duplicate_removal values(108, 'dd');sql去除重复数据语句-sql中三种去重的方式-第2张图片

2.应用row_number() over()涵数依据C002列去重复创建表test _ duplicate _ remove(c001序号,c002 varchar 2(100));插进test _ duplicate _ removal值(101,' aa ');插进test _ duplicate _ removal值(102,' aa ');插进test _ duplicate _ removal值(103,' aa ');插进test _ duplicate _ removal值(104,' bb ');插进test _ duplicate _ removal值(105,' bb ');插进test _ duplicate _ removal值(106,' cc ');插进test _ duplicate _ removal值(107,' cc ');插进test _ duplicate _ removal值(108,' DD ');2.应用row_number() over()涵数依据列C002删除重复项。

建立一个rn列,依照C002开展排序,并依照每一个组里C001的值来进行排列。

select c001,c002, row_number() over(partition by c002 order by c001 desc) rn from test_duplicate_removalsql去除重复数据语句-sql中三种去重的方式-第3张图片数值1的行被rn挑选,C002被去重复。

select * from (select c001,c002, row_number() over(partition by c002 order by c001 desc) rn from test_duplicate_removal) t where t.rn=1sql去除重复数据语句-sql中三种去重的方式-第4张图片第二,python的pandas控制模块去重复方式。

1.将数据库查询数据信息导出来并储存为CSV文件格式。

sql去除重复数据语句-sql中三种去重的方式-第5张图片2.pandas在sql中完成了排序函数row_number() over()。

import pandas as pd# 载入CSV数据信息df = pd.read_csv('test_duplicate_removal.csv')print('打印出原始记录:')print(df)# 这里等额的于sql里的排序函数row_number() over()作用df['RN'] = df['C001'].groupby(df['C002']).rank()print()print('依据C002排序,依据C001同组排列:')print(df)# 去重复print()print('去重复,挑选RN=1的行:')print(df[df['RN'] == 1])

运作結果

sql去除重复数据语句-sql中三种去重的方式-第6张图片

评论(0条)

刀客源码 游客评论