`
peachtao
  • 浏览: 39906 次
  • 性别: Icon_minigender_1
  • 来自: 湖南
文章分类
社区版块
存档分类

查询数据库中重复数据

阅读更多

查询数据库中重复数据

假如有这样一个表:
create table temp1
(
id int identity(1,1) primary key,
name varchar(100),
title varchar(100)
)

要删除temp1中name和title重复的数据,保留id号最大的那条,其它重复的删掉,这样的sql该如何写呢?
首先,找出重复的数据:
select id from temp1 a where exists
( select 1 from temp1 b where b.name =a.name and b.title =a.title and b.id<>a.id)
这样就找出了所有的重复数据id号,修改一下就能找出id号较小的重复数据了:


select id from temp1 a where exists
( select 1 from temp1 b where b.name =a.name and b.title =a.title and b.id>a.id)
仅仅将不等号变为>就实现了,找较大的则变为<。
这样要删除数据的id就出来了,删除就是很简单的事了:

delete temp1 where exists (select 1 from
(select id from temp1 a where exists
( select 1 from temp1 b where b.name =a.name and b.title =a.title and b.id>a.id)) c
where c.id=temp1.id)

看这样就完成了要求。个人认为not in 没有exists效率高,呵呵~尽管not in比exists方便一些,但还是坚持用exists。

分享到:
评论

相关推荐

    删除Access数据库中重复的数据

    在使用Microsoft Access构建数据库时,有时可能会出现重复的数据,这可能会导致数据不一致性和效率...在使用过程中,理解数据模型、熟悉SQL查询以及掌握Access的高级功能,将使你更加熟练地管理数据库中的重复数据。

    删除数据库中重复的数据(只保留一条)

    为了确保每条重复的数据中只保留一条记录,我们通常会额外添加一个条件来决定保留哪一条记录。这里采用的方式是最小的ID。 **SQL语句示例:** ```sql DELETE FROM Users WHERE Email IN ( SELECT Email FROM Users...

    查询重复数据sql语句

    在数据库管理过程中,查询重复数据是一项非常重要的任务。这不仅有助于确保数据的准确性和完整性,还可以提高数据分析的质量。本文将详细介绍如何使用SQL语句来查询表中的重复数据,并基于提供的SQL示例进行深入分析...

    Delphi找出数据库重复数据..rar

    本资源"Delphi找出数据库重复数据"提供了一个解决方案,帮助开发者高效地定位并处理这些重复信息。 首先,我们需要理解什么是数据库中的重复数据。重复数据通常指的是在特定字段或一组字段中存在完全相同的记录,这...

    实例介绍删除数据库中重复数据的几个方法

    ### 实例介绍删除数据库中重复数据的几个方法 在数据库管理过程中,删除重复记录是一项常见的需求,特别是当数据库中存在大量的冗余数据时,这不仅浪费存储空间,还可能导致查询性能下降以及数据的一致性问题。本文...

    oracle 查询重复数据

    本文将深入探讨如何在Oracle数据库中查询重复数据,理解SQL语句背后的逻辑,并掌握其实现方法。 ### Oracle查询重复数据的核心概念 #### 1. 重复数据的定义 在数据库术语中,重复数据通常指的是在数据集中存在一个...

    如何高效删除Oracle数据库中的重复数据

    ### 如何高效删除Oracle...总之,高效删除Oracle数据库中的重复数据不仅可以节省存储空间、提高查询效率,还可以保证数据的准确性和一致性。通过上述方法和技术,您可以有效地管理和维护Oracle数据库中的数据质量。

    数据库 查询删除重复数据

    数据库查询删除重复数据是数据库管理中的一项重要操作,旨在查找和删除表中的重复记录。重复记录是根据单个字段或多个字段来判断的。下面介绍几种查找和删除重复记录的方法。 根据单个字段查找和删除重复记录 可以...

    绑定数据库数据重复使用的asp.net程序

    在“绑定数据库数据重复使用的asp.net程序”这个主题中,我们将深入探讨如何在ASP.NET中有效地管理和重用从数据库检索的数据。 首先,我们需要了解数据绑定的概念。在ASP.NET中,数据绑定允许我们把数据库或其他...

    怎样删除数据库中重复记录

    删除数据库中重复记录是数据库管理中一个常见的问题,特别是在数据量庞大的时候。今天,我们将讨论删除数据库中重复记录的经典方法,包括使用 SQL 语句和其他技巧。 查找表中多余的重复记录 要删除数据库中重复...

    删除数据库中重复数据的几个方法.docx

    在数据库管理中,删除重复数据是一个常见的需求,尤其是在SQL Server这样的关系型数据库中。以下是一些删除重复数据的方法: 1. **方法一**:通过游标处理 这个方法使用游标遍历主字段并计算每个主字段的重复次数...

    ACCESS数据库检查字段是否重复源码

    在IT领域,数据库管理是至关重要的,特别是在使用像Microsoft Access这样的关系型数据库管理系统时。...这对于数据录入、维护和数据分析都是极其重要的步骤,能够避免因重复数据导致的问题,提高数据质量。

    易语言数据库是否重复

    在易语言中,我们通常会使用“数据库”类库来执行数据库操作,包括连接数据库、执行SQL语句、查询数据、插入数据、更新数据以及删除数据等。 1. **连接数据库**: 易语言中,可以使用“建立数据库连接”命令创建与...

    删除数据库中重复数据的几个方法.pdf

    在SQL Server中,删除数据库中的重复数据是一项常见的需求,特别是在数据清理和优化的过程中。本文将介绍两种主要的方法来处理这种情况。 方法一: 这种方法利用游标(cursor)来处理重复数据。首先,声明两个变量`...

    易语言数据库检查重复字段模块源码

    总的来说,易语言数据库检查重复字段模块是一个实用的工具,它帮助开发者在数据录入阶段就能发现并处理重复数据,从而保证数据库的准确性和一致性。了解并掌握这种模块的实现原理和使用方法,对于从事数据库管理、...

    把mysql数据库中的数据导入到oracle数据库中

    ### 把MySQL数据库中的数据导入到Oracle数据库中的详细步骤与注意事项 #### 一、环境配置与需求概述 本文档旨在详细介绍如何将MySQL数据库中的数据迁移到Oracle数据库中,包括具体的环境配置、迁移流程以及可能...

    达梦数据库查询数据库所有表名-DM7达梦数据库常用的运维SQL语句 数据库运维.pdf

    在实际的数据库运维中,需要对数据库进行各种查询和维护操作。下面将从达梦数据库查询数据库所有表名、查看数据库版本号、查看表空间的名称及大小、查看表空间物理文件的名称及大小等多方面对达梦数据库的常用运维...

    C# 用SQL自动记录数据并且查询出某一列有哪些重复数据

    本主题聚焦于如何在C#中利用SQL来自动记录数据,并查询出某一列中的重复数据。以下将详细讲解这一过程,以及相关知识点。 首先,我们需要理解C#和SQL的基础。C#是一种面向对象的编程语言,广泛应用于开发Windows...

    基于深度学习的大规模数据库重复记录删除研究.pdf

    基于深度学习的大规模数据库重复记录删除方法首先对已有数据库重复记录删除方法进行分析,找到引起数据库重复记录删除不理想的因素,然后采用深度学习算法对数据库重复记录数据进行学习,建立数据库重复记录的分类器...

    删除数据库中重复数据的几个方法

    删除数据库中重复数据的几个方法 删除数据库中重复数据是数据库管理和维护中的一项重要任务。重复数据可能是由于表设计不周、数据输入错误或其他原因引起的。删除重复数据可以提高数据库的性能和数据的一致性。本文...

Global site tag (gtag.js) - Google Analytics