`
huxiuliang
  • 浏览: 118915 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

SQL 查找重复记录

阅读更多
表stuinfo,有三个字段recno(自增),stuid,stuname

建该表的Sql语句如下:

CREATE TABLE [StuInfo] (
[recno] [int] IDENTITY (1, 1) NOT NULL ,
[stuid] [varchar] (10) COLLATE Chinese_PRC_CI_AS NOT NULL ,
[stuname] [varchar] (10) COLLATE Chinese_PRC_CI_AS NOT NULL
) ON [PRIMARY]
GO

1.--查某一列(或多列)的重复值(只能查出重复记录的值,不能整个记录的信息)
--如:查找stuid,stuname重复的记录
select stuid,stuname from stuinfo
group by stuid,stuname
having(count(*))>1

2.--查某一列有重复值的记录(这种方法查出的是所有重复的记录,也就是说如果有两条记录重复的,就查出两条)
--如:查找stuid重复的记录
select * from stuinfo
where stuid in (
select stuid from stuinfo
group by stuid
having(count(*))>1
)

3.--查某一列有重复值的记录(只显示多余的记录,也就是说如果有三条记录重复的,就显示两条)
--这种方成绩的前提是:需有一个不重复的列,本例中的是recno
--如:查找stuid重复的记录
select * from stuinfo s1
where recno not in (
select max(recno) from stuinfo s2
where s1.stuid=s2.stuid
)

下面这个是查出所有重复记录的SQL语句:
方法1:  
  SQL>   Select   *   FROM   table_name   A   WHERE   ROWID   >   (  
            SELECT   min(rowid)   FROM   table_name   B  
            WHERE   A.key_values   =   B.key_values);  
   
  方法2:  
        SQL>   select   *   from   table_name   t1  
                  where     exists   (select   'x'   from   table_name   t2  
                                                  where   t2.key_value1   =   t1.key_value1  
                                                  and   t2.key_value2   =   t1.key_value2  
                                                    and   t2.rowid             >   t1.rowid);  
分享到:
评论

相关推荐

    sql查询重复记录方法大全

    ### SQL查询重复记录方法大全 在数据库管理与维护过程中,查询和处理重复记录是一项非常重要的工作。本文将详细介绍几种常见的SQL查询重复记录的方法,并提供具体的示例代码。 #### 方法一:查询具有重复值的记录...

    SQL语句查询重复记录大全

    - **基本思路**:通常的做法是先找出重复记录,然后使用`DELETE`语句删除它们。 - **SQL示例**: ```sql DELETE FROM people WHERE peopleId IN ( SELECT peopleId FROM people GROUP BY peopleId HAVING ...

    sql查询重复记录语句

    这里,我们首先通过`GROUP BY`和`MAX()`函数找出每个`Title`对应的最高`ID`,再在外层查询中选择与这些最高`ID`相匹配的所有行。 #### 方法三:删除所有重复记录 删除重复记录是数据清理的重要步骤,以下是一种通用...

    SQL删除重复行

    1. **查找重复记录**:使用`GROUP BY`和`HAVING`子句找出`peopleId`出现多次的记录: ```sql SELECT peopleId FROM people GROUP BY peopleId HAVING COUNT(peopleId) > 1 ``` 这将返回所有重复的`peopleId`。 ...

    用SQL删除重复记录的N种方法

    根据提供的标题、描述以及部分内容,本文将详细介绍使用SQL删除数据库表中的重复记录的不同方法。在实际操作中,去除重复数据是数据库管理中的常见需求之一,尤其是当数据来源于多个不同的源或者由于历史原因导致...

    删除数据表中重复记录

    1. **识别重复记录**:通过`GROUP BY`和`HAVING`子句找出具有相同字段值的记录。 2. **标记重复记录**:可以创建一个临时表或使用子查询来标记出需要删除的重复记录。 3. **执行删除操作**:基于标记好的记录执行...

    sql 查询重复数据

    如果想查找表中多余的重复记录,且重复记录是根据多个字段来判断,可以使用以下 SQL 语句: ```sql SELECT * FROM vitae a WHERE (a.peopleId, a.seq) IN (SELECT peopleId, seq FROM vitae GROUP BY ...

    SQL删除重复记录的方法

    在SQL中,删除重复记录是一项常见的数据库管理任务,特别是在数据清洗和整理时。本文将详细介绍四种有效的方法来处理这个问题。 **方法1:使用临时表** 这种方法通过创建临时表temp1来存储重复记录,并最终将不重复...

    sql删除表中重复记录方法

    首先,使用`GROUP BY`和`COUNT(*)`找出重复记录,然后通过循环遍历这些记录,并根据字段类型(数字或字符串)构建不同的`DELETE`语句来移除多余的数据。这种方法的好处在于其灵活性,可以适应不同类型的字段和数据。...

    查询及删除重复记录的SQL语句.

    当我们想找出基于单一字段(如 `Id`)的重复记录时,可以使用如下的 SQL 语句: ```sql select * from 表 where Id in (select Id from 表 group by Id having count(Id) > 1) ``` 这个查询会返回所有在 `Id` ...

    sql重复记录操纵汇总

    对于多个字段(如`peopleId`和`seq`)的重复记录,可以使用子查询来找出重复组: ```sql SELECT * FROM vitae a WHERE (a.peopleId, a.seq) IN ( SELECT peopleId, seq FROM vitae GROUP BY peopleId, seq ...

    清除SQL数据库里的重复记录

    - 使用`GROUP BY`和`HAVING`子句可以找出重复的数据。例如,如果我们有一个`employees`表,包含`employee_id`和`email`字段,我们可以用以下查询来找出所有重复的电子邮件地址: ```sql SELECT email, COUNT...

    sql_查询重复记录方法大全.txt

    根据提供的文件信息,我们可以深入探讨SQL中查询重复记录的各种方法及其应用场景。首先,我们来解析一下文件中的示例代码,并在此基础上进一步扩展相关的知识点。 ### 查找所有重复标题的记录 文件中的第一个示例...

    在SQL中删除重复记录多种方法

    你可以使用以下查询来找出重复的记录: ```sql SELECT * FROM employee GROUP BY emp_id, emp_name, salary HAVING COUNT(*) > 1; ``` 这将返回那些在`emp_id`, `emp_name`, 和 `salary`字段上都相同的记录。 ###...

    删除表中重复数据sql语句

    这个查询用于找出除了具有最小ROWID之外的所有重复记录。 ### (二)更复杂的场景示例 假设有一个表 `A`,其中包含字段 `name` 和 `sex`,我们需要找出同时具有相同 `name` 和 `sex` 的记录: ```sql SELECT ...

    使用Oracle查询并删除重复记录的SQL语句

    例如,假设我们有一个名为people的表,其中包含一个名为peopleId的字段,我们可以使用以下SQL语句来查找表中多余的重复记录: ```sql select * from people where peopleId in (select peopleId from people group ...

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

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

    SQL重复记录查询的几种方法

    SQL重复记录查询的几种方法 SQL重复记录查询是数据库管理中非常重要的一方面,今天我们将讨论各种方法来查询和删除重复记录。 一、查找表中多余的重复记录 查找表中多余的重复记录可以使用以下方法: ```sql ...

    SQL重复记录查询与删除

    以下将详细解释如何使用SQL来查找和删除重复记录。 1. 单字段重复记录查询: 当我们只需要考虑单个字段(如`peopleId`)的重复时,可以使用子查询来找出这些记录。例如: ```sql select a.* from hrmresource ...

Global site tag (gtag.js) - Google Analytics