巧用SQL语句删除重复记录

数据库 SQL Server
大家在使用SQL数据库的过程中,经常会遇到要把重复数据删除的情况,下面就将为您介绍用SQL语句删除重复记录的方法。

如果需要用SQL语句删除重复记录,如何把具有相同字段的记录删除,只留下一条,应该如何做呢?下面就将教您实现的SQL语句写法。

例如表frmZHProductResult里有id,zhproductid字段,如果有zhproductid相同的记录只留下一条,其余的删除。zhproductid的内容不定,相同的记录数不定。

那么只要把重复数据列出来,不就可以了?于是为了不马上删除数据.我先把想要删除的数据列出来,看是否有错:

  1. SELECT  * FROM  frmZHProductResult  
  2. where  id<>(select max(id) from frmZHProductResult d 
  3. where frmZHProductResult.zhproductid =d.zhproductid )  
  4. AND zhproductid in (select zhproductid from frmZHProductResult b 
  5. GROUP BY ZhproductId HAVING COUNT(ZhproductId)>1)  
  6.  

结果,的确是我所想要的数据.

呵呵,那么直接删除了.把select * from 换成 Delete

【编辑推荐】

解决“每个Y的最新X”问题的SQL语句

批量执行SQL语句的示例

修改SQL主键约束的SQL语句写法

教您使用SQL语句修改SQL主键

逐条更新数据的SQL语句写法

责任编辑:段燃 来源: 互联网
相关推荐

2010-09-03 09:49:39

SQL删除

2010-09-28 15:46:22

SQL删除重复记录

2010-09-28 15:40:51

SQL删除重复记录

2010-10-13 17:07:46

MySQL删除重复记录

2010-07-26 17:00:11

SQL Server查

2010-10-27 16:49:23

Oracle删除重复记

2010-11-23 14:26:02

MySQL删除重复记录

2010-10-27 16:56:05

Oracle重复记录

2010-09-03 11:42:04

SQL删除

2010-09-07 14:45:34

sql语句

2010-07-02 13:50:11

SQL Server数

2011-05-24 10:04:39

Oracle重复记录

2010-09-30 10:29:56

DB2删除重复记录

2010-10-13 17:13:17

MySQL重复记录

2011-03-21 17:25:08

SQL Server数重复记录

2010-04-13 10:23:40

Oracle数据库

2010-11-25 15:43:02

MYSQL查询重复记录

2010-09-26 10:35:47

sql替换语句

2011-03-04 17:30:42

Oracle数据库

2010-09-08 10:00:34

SQL删除记录
点赞
收藏

51CTO技术栈公众号