mysql去重sql语句,以及删除表部分内容,重新排序

DELETE wb_fmh_copy    --   表名  
FROM
 wb_fmh_copy,     --   表名
 (
  SELECT
   min(id) id,   --   查询最小id  并假命名id
   send_Time,  --   去重依据的字段,下面两个同是, 多个字段依据去重
   content,
   yuanchuang_info
  FROM
   wb_fmh_copy   --   表名
  GROUP BY
   send_Time,  --   分组依据字段
   content,
   yuanchuang_info
  HAVING
   count(*) > 1    --   分组后大于数量大于1的  即有重复内容
 ) t2    --   t2来代表查询的结果
WHERE
 wb_fmh_copy.send_Time = t2.send_Time   --   删除判断的条件为  查询的结果 等于 原表中内容的结果
 and wb_fmh_copy.content = t2.content
 and wb_fmh_copy.yuanchuang_info = t2.yuanchuang_info
AND wb_fmh_copy.id > t2.id;     --必须id为不一样的结果   

以上去重为一句去重sql , 修改转载于     https://www.jb51.net/article/129656.htm

简单一句去重sql,撬动整个数据库,就是这么魅力!

 ------大概流程,和sql意思为   

DELETE 表,from 表,t2  where   表.去重字段1 = t2.去重字段1  and ......  and 表.id > t2.id
其中t2 为查询sql语句 分组 重复的 结果集

 

去重后遗留的问题 如果 id 为自增长的,去重后id将不是完整的顺序-----如何重新自增 让 id 正常顺序-------navicat

删除主键栏位,   重新定义主键id ,并设置默认自增长,,保存打开表后,会发现id会重新排序

 

简单明了,直接上手,我的理念。

 

转载于:https://www.cnblogs.com/HugJun/p/11218487.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值