`

SQL重复记录处理(查找,过滤,删除)

阅读更多
HZT表结构

ID int

Title nvarchar(50)

AddDate datetime

数据

ID Title AddDate
1 台州站长论坛1 2008-01-17 10:27:24.827
2 台州站长论坛1 2008-03-17 10:27:21.780
3 台州站长论坛2 2008-05-17 10:27:30.420
4 台州站长论坛2 2008-09-17 10:27:30.420
5 台州站长论坛3 2008-01-20 10:27:30.420
6 台州站长论坛3 2008-01-15 10:27:30.420
7 QQ:147526645 2008-01-19 10:27:30.420
8 QQ:147526645 2008-01-18 10:27:30.420
9 Email:hztgcl1986@163.com 2001-01-17 10:27:30.420
10 Email:hztgcl1986@163.com 2009-01-17 10:27:30.420
11 HZT 2005-01-17 10:27:30.420
12 1314521 2006-01-17 10:27:30.420
13 LoveCY 2007-01-17 10:27:30.420
14 19861108 2008-03-17 10:27:30.420
15 CY 2008-02-17 10:27:30.420

一。查找重复记录

1。查找全部重复记录

Select * From 表 Where 重复字段 In (Select 重复字段 From 表 Group By 重复字段 Having Count(*)>1)

2。过滤重复记录(只显示一条)

Select * From HZT Where ID In (Select Max(ID) From HZT Group By Title)

注:此处显示ID最大一条记录

二。删除重复记录


1。删除全部重复记录(慎用)
Delete 表 Where 重复字段 In (Select 重复字段 From 表 Group By 重复字段 Having Count(*)>1)

2。保留一条(这个应该是大多数人所需要的 ^_^)

Delete HZT Where ID Not In (Select Max(ID) From HZT Group By Title)

注:此处保留ID最大一条记录


分享到:
评论

相关推荐

    数据库 查询删除重复数据

    可以使用以下 SQL 语句来查找和删除重复记录: ``` -- 查找重复记录 select * from people where peopleId in (select peopleId from people group by peopleId having count(peopleId) > 1) -- 删除重复记录,只...

    sqlserver 删除重复记录处理(转)

    注:此处“重复”非完全重复,意为某字段数据重复 HZT表结构 ID ... 过滤重复记录(只显示一条) Select * From HZT Where ID In (Select Max(ID) From HZT Group By Title) 注:此处显示ID最大一条记录 二. 删除重复记录

    删除数据库中的重复记录

    总结,处理数据库中的重复记录是一项细致的工作,需要先查找,再决定是否删除,并考虑如何防止未来再次出现。在Access这样的关系数据库管理系统中,利用SQL查询和内置功能可以有效地管理和清理重复数据。在实际操作...

    ORACLE重复记录查询.docxORACLE

    当我们需要根据单个字段(如`peopleId`)查找重复记录时,可以使用以下SQL语句: ```sql select * from people where peopleId in (select peopleId from people group by peopleId having count(peopleId) > 1...

    Oracle查询重复数据与删除重复记录方法

    以上几种方法都可以有效地帮助我们查找和删除Oracle数据库中的重复记录。选择哪种方法取决于具体的业务需求和数据规模。ROWID方法适合于快速定位记录;GROUP BY方法可用于统计重复记录的数量;而DISTINCT方法适用于...

    mysql 数据表中查找重复记录

    这里,我们将深入探讨这个话题,并提供一些额外的SQL技巧来帮助你有效地处理重复记录。 首先,给出的SQL语句是用于查找`user_table`表中`user_name`字段上的重复记录。以下是完整的SQL查询: ```sql SELECT user_...

    谈MySQL中重复行的查找删除.pdf

    总结来说,处理MySQL中的重复行涉及查找重复条件、筛选重复行、选择保留的行以及删除其他行。这个过程需要细心和对SQL语言的深入理解,尤其是`GROUP BY`、`HAVING`子句以及如何有效地使用临时表和索引来优化操作。...

    如何使用SQL组件查询记录.

    -- 查询不重复的记录 SELECT DISTINCT column FROM table_name; -- 使用聚合函数 SELECT COUNT(*) FROM table_name; -- 计算行数 SELECT AVG(column) FROM table_name; -- 计算平均值 -- 分组并筛选 SELECT column...

    几种sql去重

    这种方式通常用于查找重复记录,并可进一步用于删除这些重复项。 ### 方法三:使用子查询删除重复记录 有时候我们需要直接删除重复的数据行,这可以通过使用子查询来实现。例如: ```sql DELETE FROM users a ...

    arcgis中的sql语句

    - **地理处理**:在地理处理工具中,SQL被用于构建复杂的逻辑表达式,实现数据的过滤、统计分析和空间分析等功能。 #### 四、SQL在ArcGIS的高级应用场景 在ArcGIS的高级应用中,SQL不仅限于上述基础功能,它还可以...

    sql中文查询手册

    总结,SQL中文查询手册将详细解析这些概念和技巧,帮助用户在忘记或需要快速查找时能迅速找回对SQL的理解和应用,是数据库管理与开发人员的得力助手。通过阅读和实践,您将能够熟练地驾驭SQL,提升数据处理能力。

    sql试题及答案,sql 行列转换,sql存储过程实例

    SQL,全称Structured Query Language,是用于管理和处理关系数据库的标准编程语言。在SQL试题中,你可以找到关于查询、更新、插入和删除数据的各种问题,以及更高级的概念如联接、子查询、聚合函数等。本资料集合...

    MySQL根据某一个或者多个字段查找重复数据的sql语句

    针对单个字段查找并删除重复记录的情况,例如根据`peopleId`字段,可以执行以下操作: 1. 查找重复记录: ```sql SELECT * FROM people WHERE peopleId IN ( SELECT peopleId FROM people GROUP BY peopleId ...

    SQL基础教程(第二版)_思维导图.zip

    - 主键:表中唯一标识记录的字段,不允许有重复值。 - 外键:关联不同表之间的字段,建立表与表之间的联系。 2. **SQL数据类型**: - 数值类型:如INT(整数)、FLOAT(浮点数)、DECIMAL(精确数值)。 - 字符...

    关于SQL教程的简单教程

    SQL(Structured Query Language)是用于管理和处理关系数据库的标准编程语言,它被广泛应用于数据查询、更新、插入和删除等操作。本教程旨在提供一个简洁明了的SQL学习指南,帮助初学者快速掌握基本概念和常用命令...

    oracle SQL性能优化

    8. **删除重复记录**:高效删除重复记录的方法是通过ROWID,比如使用子查询找到每组最小ROWID并保留,其余删除。 9. **使用TRUNCATE代替DELETE**:删除大量记录时,TRUNCATE命令比DELETE更快,因为它不涉及回滚段,...

    PDF版SQL语法入门及进阶教程

    当与`SELECT`结合使用时,它可以消除重复记录。其语法如下: ```sql SELECT DISTINCT column_name FROM table_name; ``` 若要从`Store_Information`表中获取所有不同的店名,可以使用: ```sql SELECT ...

Global site tag (gtag.js) - Google Analytics