最近由于工作需求,需要对一张百万计别数据的excel表进行数据去重。由于数据量过大,直接使用excel工具对其进行去重,会导致程序卡死,所以在此使用数据库进行去重操作。下面是我对excel数据进行去重的过程。
方法一
1、将excel导入数据库
(1) 打开navicat>>选择数据库>>点击导入向导
2、执行SQL语句
# 将excel中的所有列添加到一列,需要执行多次
insert into 新表(字段) select 字段1 from Sheet1
insert into 新表(字段) select 字段2 from Sheet1
# 查询
select count(DISTINCT 字段) from 表名
方法二
1、将excel导入数据库
2、新建一个数据表表,添加一个字段用来存放excel表所有字段数据
3、执行如下SQL语句
# 将excel中的所有列添加到一列,需要执行多次
insert into 新表(字段) select 字段1 from Sheet1
insert into 新表(字段) select 字段2 from Sheet1
......
# 查询没有重复的条数
select test,count(*) as a
from test
where test <> ""
GROUP BY test
HAVING a=1
推荐使用第二种方式,执行更快。