数据重复筛选 MYSQL_数据库重复记录筛选

查询f_name 重复的记录

select * from t_info a where ((select count(*) from t_info where f_name = a.f_name) > 1) order by f_name desc

select * from t_info where f_name in (select f_name from t_info group by f_name having count(*)>1)

查询f_name 重复的记录条数

select f_name, count(*) as number from t_info a where ((select count(*) from t_info where f_name = a.f_name) > 1) group by f_name

select f_name, count(*) as number from t_info where f_name in (select f_name from t_info group by f_name having count(*)>1) group by f_name

过滤重复记录(只显示一条,注:此处显示f_id最大一条记录)

select * from t_info where f_id in (select max(f_id) from t_info group by f_name)

删除全部重复记录(慎用)

delete t_info where f_name in (select f_name from t_info group by f_name having count(*)>1)

保留一条 (注:此处保留id最大一条记录)

delete t_info where f_id not in (select max(f_id) from t_info group by f_name)

在mysql中要用not in 删除需要按照下面的执行,不知为啥

delete t_info where f_id not in (select * from (select max(f_id) from t_info group by f_name))

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值