UPDATE student b SET b.sname = 'dd' WHERE b.id = (SELECT a.id FROM student a WHERE a.id = '3')

Mysql中根据条件(表A中的字段)操作表A中的数据时是不可以的

所以借助临时表来删除/更新重复的数据,原理就是删除每组重复数据中除id值最大的其他记录

select id,name from student

1、根据特定条件查询出每组重复数据中id最大的一条记录

SELECT MAX(id) id,name FROM student GROUP BY name HAVING COUNT(name) > 1

2、将id值和查重条件添加到临时表maxids

Create table maxids

SELECT MAX(id) id,name FROM student GROUP BY name HAVING COUNT(name) > 1

3、根据查重条件查询出重复数据中id值不为最大id的所有记录的id,此处一定要注意使用去重条件去查询,不然会将其他不重复的数据查询出来

SELECT id FROM student a

WHERE EXISTS ( SELECT id FROM maxids WHERE a.id != id AND a.name = `name`)

4、将3中查出的记录添加到临时表repeatids

Create table repeatids

SELECT id FROM student a

WHERE EXISTS ( SELECT id FROM maxids WHERE a.id != id AND a.name = `name`)

5、根据临时表repeatids中的id值删除重复数据

Delete from student where id in (select id from repeatids)

6、删除临时表

Drop table maxids

Drop table repeatids

7、去重之后结果

select id,name from student

26、临时表的创建和重复数据的处理相关推荐

  1. Oracle数据库重复数据删除的三种情况

    在对数据库进行操作过程中我们可能会遇到这种情况,表中的数据可能重复出现,使我们对数据库的操作过程中带来很多的不便,那么怎么删除这些重复没有用的数据呢? 重复数据删除技术可以提供更大的备份容量,实现更长 ...

  2. [DB] oracle删除重复数据

    我们可能会出现这种情况,某个表原来设计不周全,导致表里面的数据数据重复,那么,如何对重复的数据进行删除呢?          重复的数据可能有这样两种情况,第一种时表中只有某些字段一样,第二种是两行记 ...

  3. 高效删除Oracle数据库中重复数据,并保留最新一条的方法

    在对数据库进行操作过程中我们可能会遇到这种情况,表中的数据可能重复出现,使我们对数据库的操作过程中带来很多的不便,那么怎么删除这些重复没有用的数据呢? 重复数据删除技术可以提供更大的备份容量,实现更长 ...

  4. 在ORACLE中如何删除表中的重复数据

    我们可能会出现这种情况,某个表原来设计不周全,导致表里面的数据数据重复,那么,如何对重复的数据进行删除呢? 重复的数据可能有这样两种情况,第一种时表中只有某些字段一样,第二种是两行记录完全一样. 一. ...

  5. MySql删除表中重复数据

    有一表中存在大量重复数据 在此记录下我删除表内重复数据的方法 -- 新增测试表 create table basic_farmer ( id INT(11), user_name VARCHAR(25 ...

  6. oracle字段重复新增错误,oracle在已有重复数据的列上创建唯一约束

    在有重复数据的列上添加unique constraints,大家正常的解决办法就修改重复数据,但也可以 保留重复数据,使约束对以后的数据有限制,不过我们还可以用以下的方法来添加唯一约束. SQL cr ...

  7. mysql 唯一索引出现重复数据_MySQL 创建唯一索引忽略对已经重复数据的检查

    MySQL 创建唯一索引忽略对已经重复数据的检查 在创建唯一索引的基础上加上关键字"IGNORE "即可. # 重复数据 mysql> select aid,count(ai ...

  8. 【十】JDBC:使用 jmeter 批量在数据库创建 1 万多条数据;批量删除重复数据

    目录 一.批量创建1万多条数据 二.批量删除重复数据 一.批量创建1万多条数据 数据库车辆信息表中准备10000多台车的数据: (1)创建线程组,循环1次: (2)连接数据池: (3)添加循环控制器, ...

  9. 第31章 MySQL 处理重复数据教程

    有些 MySQL 数据表中可能存在重复的记录,有些情况咱们允许重复数据的存在,但有时候咱们也需要删除这些重复的数据. 本章节咱们将为大家介绍如何防止数据表出现重复数据及如何删除数据表中的重复数据. 防 ...

最新文章

  1. sqlserver数据库类型对应Java中的数据类型
  2. python小游戏代码大全-Python编写的点灯小游戏代码
  3. python模拟火车订票系统_如何用python编写火车抢票助手
  4. Maven学习笔记(2) --mvn archetype:create 说明
  5. ISA服务器之域内×××用户在外网通过CA验证连接域内×××服务器
  6. 微服务网关Ocelot
  7. XStream – XStreamely使用Java中的XML数据的简便方法
  8. win7中安装vs2008的升级成正式版的方法
  9. Github | 商汤出品-可在视频里追踪单个对象PySOT
  10. SqlServer规则
  11. function在mysql里总是出错_如何在MySQL函数中引发错误
  12. 为何你仍是一名社畜码农?
  13. 使用eclipse进行debug
  14. 高性能Mysql中文版
  15. CNN应用之性别、年龄识别
  16. 华为防火墙USG5500的配置方法
  17. LVS负载均衡集群——NAT
  18. Android WebView(一) WebView详解
  19. xadmin报cannot import name ‘DEFAULT_FORMATS‘ from ‘import_export.admin‘/cannot import name ‘SKIP_ADMI
  20. 活动 | 爬虫VS反爬虫,一场没有硝烟的战争

热门文章

  1. labuladong 的算法小抄_关于算法笔试的几个套路,一点就透
  2. 107. 二叉树的层序遍历 II and 102. 二叉树的层序遍历 023(BFS模板题打两道)
  3. 如何找到Eclipse左侧项目栏
  4. cg word List5
  5. 经典排序算法(11)——计数排序算法详解
  6. 反转字符串中的单词 III leetcode
  7. Linear Programming_the simplex method in tableau format
  8. CF603D Ruminations on Ruminants(计算几何/Simson theorem)
  9. [2020多校A层11.25]最大K段和(反悔贪心)
  10. P4173 残缺的字符串 FFT匹配含有通配符的字符串