1、查询(字段1, 字段2, 字段3)全部重复相同的数据

SELECT *
FROM 表
WHERE (字段1, 字段2, 字段3) IN (SELECT 字段1, 字段2, 字段3 FROM 表
GROUP BY 字段1, 字段2, 字段3 HAVING COUNT(*) > 1)
ORDER BY 排序字段

2、过滤(字段1, 字段2, 字段3)全部重复相同的数据,只显示一条(id最小或最大等)数据
注:(1)包含原本不重复的数据(建议使用)

SELECT *
FROM 表
WHERE id
IN (SELECT MIN(id) FROM 表 GROUP BY 字段1, 字段2, 字段3)


注:(2)不包含原本不重复的数据

SELECT id, 字段1, 字段2, 字段3
FROM 表
WHERE id
IN (SELECT MIN(id) FROM 表 GROUP BY 字段1, 字段2, 字段3 HAVING COUNT(*) > 1)


3、删除(字段1, 字段2, 字段3)全部重复相同的数据,只保留一条(id最小或最大等)数据

DELETE FROM 表
WHERE id IN(SELECT id FROM (SELECT id FROM 表 WHERE 某某条件
AND (字段1, 字段2, 字段3) IN (SELECT 字段1, 字段2, 字段3FROM 表 GROUP BY 字段1, 字段2, 字段3 HAVING COUNT(*) > 1)AND id NOT IN (SELECT MIN(id) FROM 表 GROUP BY 字段1, 字段2, 字段3)ORDER BY 排序字段) as result)


注意删除这里不能直接使用下面的语句,要对查询到的此表重新取别名,相当于新建了表然后再执行删除,否则会报错You can’t specify target table ‘表’ for update in FROM clause,直译:你不能在FROM子句中指定更新的目标表,大概的意思是说,你不能这样执行sql语句 Delete From 表 Where id In (Select xxx From 表 Where 条件)

错误的sql语句!!!
DELETE FROM 表
WHERE id IN(SELECT id FROM 表 WHERE 某某条件
AND (字段1, 字段2, 字段3) IN (SELECT 字段1, 字段2, 字段3FROM 表 GROUP BY 字段1, 字段2, 字段3 HAVING COUNT(*) > 1 )AND id NOT IN (SELECT MIN(id) FROM 表 GROUP BY 字段1, 字段2, 字段3)ORDER BY 排序字段)

sql查询、删除重复相同数据的语句或只保留一条数据相关推荐

  1. oracle 查询重复数据并且删除, 只保留一条数据

    数据库操作中,经常会因为导数据造成数据重复,需要进行数据清理,去掉冗余的数据,只保留正确的数据 一:重复数据根据单个字段进行判断 1.首先,查询表中多余的数据,由关键字段(name)来查询. sele ...

  2. SQL查询/删除重复记录

    1.某个字段重复,根据该字段去除重复值返回唯一值. select distinct('字段名') from '表名' 2.查找表中全部的重复记录,根据单个字段判断重复记录 select * from ...

  3. 删除重复数据只保留一条数据

    一.表结构与数据 CREATE TABLE `duptab` (`id` int(11) NOT NULL AUTO_INCREMENT,`name` varchar(255) DEFAULT NUL ...

  4. 如何只保留1000条数据mysql_php实现只保留mysql中最新1000条记录

    mysql_connect("localhost","root","root"); mysql_select_db("test&q ...

  5. mysql 查询删除重复数据,保留其中一条数据

    一.查询重复数据 --------根据多个字段查询重复数据 SELECT* FROMtable_name a WHERE(a.字段1, a.字段2) IN (SELECT字段1,字段2FROMtabl ...

  6. MySql删除重复数据(只保留一条)

    MySql删除重复数据 1. 问题引入 前一段遇到MySql数据重复的问题.由于重复向同一张表导入同一批数据,导致前台展示的数据重复,唯一方便快捷的方法莫过于利用delete操作删除重复数据(已经封板 ...

  7. oracle 快速移动数据和删除重复数据但保留其中一条数据

    在项目中会遇到将一个表的部分数据移动另一个表中的事情. insert into table1 (id,其他属性) select t.a,t.c...from table2 t 注意属性类型大小要一致 ...

  8. 数据库SQL去重,保留一条数据

    利用SQL,删除掉重复多余的数据,并且只保留一条数据. 1.查找表中多余的重复记录,重复记录是根据单个字段(teamId)来判断 select * from team where teamId in ...

  9. mysql sql 语句 查询重复数据 并删除重复数据 只保留一条

    **#例1:根据手机号customer_id查询所有重复的数据** SELECT* FROMaad_apply_main WHEREcustomer_id IN (SELECTcustomer_idF ...

  10. 用SQL语句删除数据库重复数据,只保留一条有效数据

    在实际开发中,可能会遇到数据库多条数据重复了,此时我们需要删除重复数据,只保留一条有效数据,用SQL语句怎么实现呢,下面我们模拟一下: 1.准备重复数据: 2.过滤出存在重复数据的信息: SQL语句: ...

最新文章

  1. 国际版Azure搭建Windows多种类型×××_三.配置SSTP ×××连接服务
  2. mysql导入数据出现Errcode: 2 - No such file or directory错误信息
  3. 安装shopex注意事项
  4. 序列化类型为XX的对象时检测到循环引用
  5. Appium环境搭建python篇(mac系统)
  6. [MOSS开发]:通过简单BUG跟踪Demo阐述用户控件对列表的操作
  7. qt学习之键盘事件( keyPressEvent)
  8. 第三节:21个新的语义化标签,你撸过几个?
  9. 五子棋python设计心得_python五子棋游戏的设计与实现
  10. mysql隔离性与隔离级别
  11. PacketFence ZEN 4.0.1 发布,网络接入控制
  12. java fri星期转_Java日期时间以及日期相互转换
  13. DELL官方证实:NVIDIA史上最大显卡质量事故
  14. 计算机专用英语(常用1695个单词,带音标)
  15. 项目管理文档目录结构
  16. Word转PDF后,排版错乱怎么办?
  17. Android内存泄漏检测工具大全
  18. [全新大碟]周杰倫 - 魔杰座
  19. sqlserver 数据误删除恢复
  20. java去除word修改痕迹_去除Word修订

热门文章

  1. 100项PPT制作技术
  2. 抓包工具_Charles使用
  3. 【AD18新手入门】从零开始制造自己的PCB
  4. 微机实验报告6 并行接口实验
  5. EXCEL多项式曲线拟合很好实际验算误差大的解决办法
  6. 夜间灯光数据dn值_NPPVIIRS年度夜间灯光数据的合成方法与验证
  7. java 注入为空_Spring @Autowired 注入为 null
  8. 推荐几个e书下载地址
  9. MP4格式转换为AMV格式
  10. 数字电子技术逻辑运算