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删除重复数据只保留一条 的相关文章

  • 如何授予 SQL Server 代理访问权限以便能够写入/修改系统文件?

    我的工作有一个存储过程 运行 BCP 来查询一些数据 如果我单独运行 QUERYOUT 命令 它就会起作用 但是 如果我尝试在作业中运行它 它会创建文件但 挂起 并且数据永远不会放入文件中 这会永远挂起 所以我通常终止 BCP exe 我的
  • 将逗号分隔的主数据替换为列中的描述

    有 2 个 SQL Server 表 Products Name Status Code Product 1 1001 1003 Product 2 1001 1005 1006 Status Code Description 1001 S
  • MySQL,连接两列

    MySQL 表中有两列 SUBJECT and YEAR 我想生成一个字母数字唯一编号 其中包含主题和年份的串联数据 我怎样才能做到这一点 是否可以使用像这样的简单运算符 您可以使用CONCAT http dev mysql com doc
  • 从 SQL 数据库获取日期时间

    我的数据库表中有一个 DateTime 记录 我编写一个查询从数据库中获取它 string command2 select Last Modified from Company Data where Company Name Descrip
  • 如何调试参数化 SQL 查询

    我使用 C 连接到数据库 然后使用 Ad hoc SQL 来获取数据 这个简单的 SQL 查询非常方便调试 因为我可以记录 SQL 查询字符串 如果我使用参数化 SQL 查询命令 有没有办法记录 sql 查询字符串以进行调试 我想就是这样的
  • SQL Server 2008 中的全文搜索一步一步

    如何开始使用SQL Server 2008 中的全文搜索 阅读这些链接 SQL SERVER 2008 创建全文目录和全文搜索 http blog sqlauthority com 2008 09 05 sql server creatin
  • 在内连接中重用 mysql 子查询

    我正在尝试优化查询 试图避免重复用 指示的查询 复杂查询 使用两次 结果相同 原始查询 SELECT news FROM news INNER JOIN SELECT myposter FROM SELECT COMPLEX QUERY U
  • PostgreSQL 窗口函数:row_number() over(按 col2 分区 col 顺序)

    以下结果集源自具有一些连接和联合的 SQL 查询 SQL 查询已经对 Date 和 game 上的行进行了分组 我需要一列来描述按日期列分区的游戏的尝试次数 Username Game ID Date johndoe1 Game 1 100
  • 如何在postgresql中编写有关最大行数的约束?

    我认为这是一个很常见的问题 我有一张桌子user id INT 和一张桌子photo id BIGINT owner INT 所有者是一个参考user id 我想向表照片添加一个约束 以防止每个用户将超过 10 张照片输入数据库 写这个的最
  • 如何获得组中“中间”值的平均值?

    我有一个包含值和组 ID 的表 简化示例 我需要获取中间 3 个值的每组的平均值 因此 如果有 1 2 或 3 个值 则它只是平均值 但如果有 4 个值 它将排除最高值 5 个值将排除最高值和最低值 等等 我正在考虑某种窗口函数 但我不确定
  • 如何在“order by”中添加条件?

    我有一个带有输入参数的存储过程 现在根据这个参数 我的 order by 语句将发生变化 如果输入参数是 ID int类型列 则按ID排序 如果是 ProductType 则按产品类型排序 如果是 IssueDate 则应按问题日期排序 现
  • SQL Server - SQL 替换整个数据库中所有表中的所有列

    这是一个很遥远的事情 我猜这个问题没有简单的答案 但是 我继承了一个数据库 其中填充了一些可怕的数据 许多包含描述的行都有回车符 这意味着当我们 BCP 输出数据时 它会带有回车符 我的问题 有没有办法在 MS SQL Server 中对整
  • 如何删除MySQL中的所有事件

    如果我想删除某个事件 我需要查询类似的内容 DROP EVENT IF EXISTS eventname 但我找不到一次性删除所有事件的命令 必须一项一项地删除 有没有一次性删除所有事件的SQL DROP EVENT IF EXISTS S
  • INTEGER 到 DATETIME 的转换与 VB6 不同

    我正在查看一些遗留的 VB6 代码 比我的时代早很多年 它对 SQL 2005 数据库运行查询 它提供了日期限制WHERE子句 其中日期作为整数值给出CLng VB6 中的日期 e g WHERE SomeDateField gt 4006
  • 如何在 Postgresql 中将 GIST 或 GIN 索引与 hstore 列一起使用?

    我正在使用 postgresql 9 3 的 hstore 我正在尝试对 hstore 列使用索引就像文档所述 http www postgresql org docs 9 3 static hstore html 我的问题是索引似乎没有被
  • Postgres 按查询分组

    我正在尝试在 postgres 的查询中使用 group by 我无法让它按照我想要的方式工作 以便根据需要对结果进行分组 这是另一个堆栈问题的扩展我刚刚回答过的递归查询 https stackoverflow com questions
  • 总结同一个 SQL 表上的两个条件

    给定一个 SQL 表 Transactions ID INT COMPANY ID INT STATUS INT where STATUS IN 0 1 表示免费交易并且STATUS IN 2 3 表示可计费交易 简单的 我希望 ANSI
  • 内连接中的排序依据

    我将内部连接放入查询中 我得到了结果 但不知道数据如何输入输出 任何人都可以告诉我内部连接如何匹配数据 下面我显示了一个图像 有两张桌子 一张或两张桌子 根据我的说法 第一行应该是 Mohit 但输出不同 请告诉我 In SQL 输出的顺序
  • 使用 impala 按范围连接表的有效方法

    我第一个有下表 Range 包括值范围和附加列 row From To Country 1 1200 1500 2 2200 2700 3 1700 1900 4 2100 2150 The From and Toare bigint并且是
  • T-SQL参数嗅探重新编译计划

    我有 SQL 命令 exec sp executesql N SELECT TOP 10 FROM mytableView WHERE Name LIKE Value0 ORDER BY Id DESC N Value0 varchar 5

随机推荐

  • 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