Postgres 数据库中筛选身份证号相同但是姓名确不同的脏数据,如何筛选?

anaitudou 2020-04-01 06:18:20
比如:
身份证号 姓名
4114811999123201234 张三
4114811999123201234 张散
4114811999123201234 张叁
...全文
456 2 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
简即美 2020-06-06
  • 打赏
  • 举报
回复
查重,去重的经典语句 exist

select * from idcard t1
where sexists (
select 1 from  idcard t2
where t1.id_card=t2.id_card
and t1.name<>t2.name) 
#0xZ 2020-05-03
  • 打赏
  • 举报
回复
本质是一个数据清洗的问题。。。 1、定义脏数据规则 如:一个身份证号只能对应一个姓名 2、根据规则写sql,筛选出脏数据 如:SELECT * FROM table_name WHERE "身份证号" IN (SELECT "身份证号","姓名" FROM table_name GROUP BY "身份证号","姓名" HAVING COUNT(*) > 1) AS dirty_data 3、自行处理

972

社区成员

发帖
与我相关
我的任务
社区描述
PostgreSQL相关内容讨论
sql数据库数据库架构 技术论坛(原bbs)
社区管理员
  • PostgreSQL社区
  • yang_z_1
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧