Foxtable(狐表)用户栏目专家坐堂 → SQLServer数据源,如何查重身份证?


  共有2117人关注过本帖树形打印复制链接

主题:SQLServer数据源,如何查重身份证?

帅哥哟,离线,有人找我吗?
有点甜
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/12/3 15:43:00 [显示全部帖子]

1、sqlCompute计算1条数据,大概是0.5秒,你table1如果有100行,需要50秒处理。

 

2、如果你需要重复多次查询,还是建议把所有数据加载出来,再用compute或者find查询。


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/12/3 16:21:00 [显示全部帖子]

以下是引用pc005637在2018/12/3 15:49:00的发言:
测试过,将数据加载在表里面,用compute语句,也是很慢。有没有,全部在后台处理的方式?

只是一次性查询。查出重复的数据。
[此贴子已经被作者于2018/12/3 15:50:11编辑过]

 

1、加载后,用compute,不可能慢。比如你在项目打开的时候加载了全部数据,然后compute查找100行,肯定瞬间完成。

 

2、你也可以这样做:循环每一行,合成一个查询条件,如 身份证 in ('123', '456', '789') ,然后用sqlcommand查找返回一个临时表,然后对比这个临时表即可。


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/12/3 17:31:00 [显示全部帖子]

这样也是慢的,如

 

UPDATE {表名} as a SET 查重 = (Select Count(*) From {表名} as b where b.身份证号码 = a.身份证号码)


 回到顶部