SQL删除重复数据只保留一条

2023-11-12

 
用SQL语句,删除掉重复项只保留一条

在几千条记录里,存在着些相同的记录,如何能用SQL语句,删除掉重复的呢
1、查找表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断
select * from people
where peopleId in (select peopleId from people group by peopleId having count(peopleId) > 1)

2、删除表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断,只留有rowid最小的记录
delete from people
where   peopleName in (select peopleName    from people group by peopleName      having count(peopleName) > 1)
and   peopleId not in (select min(peopleId) from people group by peopleName     having count(peopleName)>1)

3、查找表中多余的重复记录(多个字段)
select * from vitae a
where (a.peopleId,a.seq) in (select peopleId,seq from vitae group by peopleId,seq having count(*) > 1)

4、删除表中多余的重复记录(多个字段),只留有rowid最小的记录
delete from vitae a
where (a.peopleId,a.seq) in (select peopleId,seq from vitae group by peopleId,seq having count(*) > 1)
and rowid not in (select min(rowid) from vitae group by peopleId,seq having count(*)>1)

5、查找表中多余的重复记录(多个字段),不包含rowid最小的记录
select * from vitae a
where (a.peopleId,a.seq) in (select peopleId,seq from vitae group by peopleId,seq having count(*) > 1)
and rowid not in (select min(rowid) from vitae group by peopleId,seq having count(*)>1)   

6.消除一个字段的左边的第一位:

update tableName set [Title]=Right([Title],(len([Title])-1)) where Title like '村%'

7.消除一个字段的右边的第一位:

update tableName set [Title]=left([Title],(len([Title])-1)) where Title like '%村'

8.假删除表中多余的重复记录(多个字段),不包含rowid最小的记录
update vitae set ispass=-1
where peopleId in (select peopleId from vitae group by peopleId

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

SQL删除重复数据只保留一条 的相关文章

  • POINT 列上的 MySQL INSERT/UPDATE

    我正在尝试用我国家的地理位置填充我的数据库 我的一张表有 4 个字段 ID PK 纬度 经度和地理点 EDIT SCDBs Punto Geografico SET lat 18 469692 SET lon 63 93212 SET g
  • 优化 SQL Server 上的删除

    Deletesql server 上的有时很慢 我经常需要优化它们以减少所需的时间 我一直在谷歌上搜索一些关于如何做到这一点的提示 并且我发现了各种各样的建议 我想知道你最喜欢和最有效的驯服删除野兽的技术 以及它们如何以及为什么起作用 到目
  • 如何找到多个列中的最小值

    我在我的 DB 3 col 中有一个值 我想在所有这些值中找到一个值 如下所述 表名 MyTable id col1 col2 col3 1 200 300 400 2 100 150 300 3 800 102 20 4 80 80 0
  • 我怎样才能知道oracle 9i中哪些值是数字

    我有这个包含 varchar 的数据库 我想知道哪些记录保存数值 我试过REGEXP COUNT和其他 但我在 9i 上运行 我认为这是针对 10g gt 我怎样才能实现这个目标 I tried select to number my co
  • 删除连接到另一表 SQL 的一个表中的记录

    我有两个表 一个包含 212 000 条记录 已弃用的记录 另一个包含 10 500 000 条记录 我想在 id 和 version number 字段上连接两个表 因为两个表都有这些字段 我希望从连接表中删除匹配的记录 来自连接表 即从
  • 插入 Hive 表 - 非分区表到具有多个分区的分区表 - 无法插入目标表,因为列号/类型

    当我尝试插入分区表时 出现以下错误 SemanticException 错误 10044 第 1 23 行无法插入目标表 因为列号 类型不同 表 insclause 0 有 6 列 这 3 列已分区 我们不需要任何必须从中转储 存储的过滤器
  • 有没有办法阻止 SQL Express 2008 空闲?

    我使用 SQL Express 2008 作为 Web 应用程序的后端 问题是 Web 应用程序是在工作时间使用的 因此有时在午餐或休息时间 如果 20 分钟内没有用户登录 SQL Express 将进入空闲状态模式并释放其缓存 我知道这一
  • 只获取倒数第二条记录 - mysql-query

    我有一个如下表记录 my table id rating description 1 0 0 bed 2 1 0 good 3 0 0 bed 4 1 0 good 5 0 0 bed 6 0 0 bed 7 0 0 bed 现在我通过评级
  • 可以使用表通配符创建 sql 查询吗?

    这可能是一个简单的问题 但我无法在网上找到解决方案 任何帮助将不胜感激 我正在尝试在 PHP 中创建一个 SQL 查询 并希望以某种方式将通配符应用于 TABLE 过滤器 可能是这样的 select from table 但是 到目前为止我
  • 检查两个“select”是否相等

    有没有办法检查两个 非平凡的 选择是否等效 最初我希望两个选择之间有形式上的等价 但是答案在证明 sql 查询等价性 https stackoverflow com questions 56895 proving sql query equ
  • MySQL中如何声明变量?

    如何在mysql中声明一个变量 以便我的第二个查询可以使用它 我想写一些类似的东西 SET start 1 SET finish 10 SELECT FROM places WHERE place BETWEEN start AND fin
  • 在存储过程中验证用户的最简单方法?

    我需要一个存储过程 可以通过发送以下内容来检查登录尝试时他们是否是有效用户login and password查看它们在数据库中是否匹配 有没有一种简单的方法可以做到这一点 如果没有更多信息 我目前能提供的最好信息是 CREATE STOR
  • 数据库字段中的逗号分隔值

    我有一个产品表 该表中的每一行对应一个产品 并由唯一的 ID 标识 现在 每个产品都可以有多个与该产品关联的 代码 例如 Id Code 0001 IN ON ME OH 0002 ON VI AC ZO 0003 QA PS OO ME
  • st_intersects 与 st_overlaps

    这两个查询有什么区别 select a gid sum length b the geom from polygons as a roads as b where st intersects a the geom b the geom gr
  • 获取带有计数的不同记录

    我有一张桌子personid and msg列 personid msg 1 msg1 2 msg2 2 msg3 3 msg4 1 msg2 我想得到总计msg对于每个personid 我正在尝试这个查询 select distinct
  • 如何在 DB2 中创建返回序列值的函数?

    如何在 DB2 中创建一个从序列中获取值并返回该值的函数 应该可以在 select 或 insert 语句中使用该函数 例如 select my func from xxx insert into xxx values my func 基本
  • 从 Getdate() 获取时间

    我想采取Getdate 结果 例如 2011 10 05 11 26 55 000 into 11 26 55 AM 我看过其他地方并发现 Select RIGHT CONVERT VARCHAR GETDATE 100 7 这给了我 11
  • 我不断收到错误“关系 [TABLE] 不存在”

    我一直在尝试查询数据库中的两个表 在服务器资源管理器中 我可以看到两个表 甚至可以看到其中的列 我们将它们称为 Schema table1 和 Schema table2 其中 Schema 的第一个字母大写 我尝试运行以下查询 selec
  • 如何使用 BigQuery 有效地选择另一个表中匹配子字符串的记录?

    我有一个包含数百万个字符串的表 我想将其与包含大约两万个字符串的表进行匹配 如下所示 standardSQL SELECT record FROM record JOIN fragment ON record name LIKE CONCA
  • 我是否需要在外键上指定 ON DELETE NO ACTION?

    我有以下与 SQL Server 2012 一起使用的 DDL CREATE TABLE Subject SubjectId INT IDENTITY 1 1 NOT NULL Name NVARCHAR 50 Not NULL CONST

随机推荐

  • c语言什么是关键字,c语言关键字是什么

    c语言关键字是什么 c语言关键字又称为保留字 就是已被C语言本身使用 不能作其它用途使用的字 C语言简洁 紧凑 使用方便 灵活 ANSI C标准C语言共有32个关键字 9种控制语句 程序书写形式自由 区分大小写 把高级语言的基本结构和语句与
  • 关于项目启动;500报错问题

    HTTP Status 500 An exception occurred processing JSP page index jsp at line 1 type Exception report message An exception
  • 2017 年最推荐的五篇深度学习论文

    价值 思考 共鸣 简评 2017 年度最值得深入阅读的五篇深度学习相关论文 如果没读过的可以行动了 1 最酷视觉效果 使用 CycleGAN 在不成对图像集之间转换 论文 https arxiv org abs 1703 10593 目标
  • 用 clang 编译成 IR 汇编 和 目标机器汇编语言文件

    clang emit llvm c sum c o sum bc clang emit llvm S c sum c o sum ll clang S sum c o sum asm 一 C源文件 sum c int sum int x i
  • Redis基础

    Redis 简介 Redis 是完全开源免费的 遵守BSD协议 是一个高性能的key value数据库 Redis 与其他 key value 缓存产品有以下三个特点 Redis支持数据的持久化 可以将内存中的数据保存在磁盘中 重启的时候可
  • 更改/去除 a链接默认样式

    比较常见的一个需求 但是点击a链接的时候又不想让它变色 下面的代码就可以解决 a text decoration none important color C00017 important
  • 小白也能操作的“电脑恢复出厂设置”,windows8/10通用型

    出厂设置恢复到出厂时的默认状态 删除所有的文件和软件 在手机上很多朋友都会设置出厂设置 那么你们知道电脑如何恢复出厂设置吗 今天 我给大家带来了电脑恢复出厂设置的两种方法 一起来了解一下吧 电脑是我们当今社会发展的必备利器 各行各业都不开电
  • Markdown数学语法

    Markdown数学语法 文章目录 Markdown数学语法 1 基本格式 1 1 行内公式 1 2 块级公式 行间公式 1 3 角标 1 4 整体内容 1 5 多行公式 equation CSDN不支持 align CSDN不支持 支持a
  • 24点

    刚学c 的我是怎么解决判断24点问题的 本人大一狗 高中因为高考 浙江选考 学过vb 开学两周后 教c的老师突然在一节课教完if for switch语句 然后出了个挑战题 如何随意输入四个数判断能否用 计算出24点 有人写了几十行的if语
  • Java基础中的IO流

    一 IO流 IO 上传下载 写入写出 流 一连串流动的数据 以先入先出的方式进行流动 管道 以程序为中心 程序与网络 文件 服务器 数组 1 分类 1 按照流向 输入流 输出流 2 操作单元分 字节流 万能流 任何内容都可以转为字节 可以传
  • RabbitMQ两种集群模式配置管理

    一 RabbitMQ集群的两种模式 1 普通模式 默认的集群模式 2 镜像模式 把需要的队列做成镜像队列 存在于多个节点 属于RabbitMQ的HA方案 普通模式 默认的集群模式 RabbitMQ集群中节点包括内存节点 磁盘节点 内存节点就
  • 升级openssl后nginx无法编译安装问题之解决方法

    Linux下升级openssl到新版本 如CentOS 7中openssl升级到openssl 1 1 1d 后 其实原nginx并没有真正调用新的openssl 1 1 1d 怎么办呢 需对nginx重新编译 但在编译安装过程中有人就无法
  • 利用Console来调试JS程序、Console用法总结

    利用Console来调试JS程序 Console用法总结 1 一 什么是 Console Console 是用于显示 JS和 DOM 对象信息的单独窗口 并且向 JS 中注入1个 console 对象 使用该对象 可以输出信息到 Conso
  • 零基础小白-自学java全栈开发-学习路线-只要看这一篇就可以了(完整版)

    文章目录导航 小白自述 具体内容以及详细流程 开发工具的使用 总结一下 什么是java 第一个java程序分析 基础知识 运算符操作 控制语句 数组类型 方法定义和使用 Eclipse工具的使用 类与对象 常用类 集合类 内部类 异常处理
  • pikachu靶场RCE的学习

    RCE remote command code execute RCE的概述 RCE漏洞 可以让攻击者直接向后台服务器远程注入操作系统命令或者代码 从而控制后台系统 RCE的分类 ping Ping Packet Internet Grop
  • AI智慧,书香飘溢

    如果有天堂 天堂应该是图书馆的模样 阿根廷国家图书馆前馆长 著名作家博尔赫斯如此形容图书馆 人类文明的演进与传承 倚仗于知识的积累 而知识的载体往往绕不开书籍 其集散地 图书馆 更是在这一过程扮演着极为重要的角色 早在公元前3000年 亚述
  • 75.android 简单的获取当前可用运行内存,总运行内存,获取包含系统软件在内的所有内存,获取系统参数显示的内存大小。

    1 获取手机系统参数显示的内存大小 RAM内存大小 返回1GB 2GB 3GB 4GB 8G 16G return public static String getTotalRam String path proc meminfo Stri
  • cryptographic primitives(密码学原语 )

    hash commitment Pedersen承诺
  • 返回json带转义符时的处理方法Content-Type: text/plain;

    当从json文件中读取json数据返回前端时 Content Type不同会导致返回给前端的数据结构也不同 Content Type text plain charset UTF 8 text plain的意思是将文件设置为纯文本的形式 浏
  • SQL删除重复数据只保留一条

    用SQL语句 删除掉重复项只保留一条 在几千条记录里 存在着些相同的记录 如何能用SQL语句 删除掉重复的呢1 查找表中多余的重复记录 重复记录是根据单个字段 peopleId 来判断 select from people where pe