sql删除重复数据,我这个怎么删,请写下sql语句?

有一个电影表,影视名存在重复,我需要删除简介等于空的,评分等于空的,请问sql语句怎么写。还望字段名用中文名标明,以便看的懂。
需要删除等于空的,评分等于空的,只保留简介不等于空的唯一记录,假如简介再次重复,需要再次删除,这有可能需要写2个sql语句,请写下,谢谢了。

第一个问题:
如果影视名称重复时,并且有简介不为空且评分不为空的数据:
delete 电影表 where 简介 is null or 评分 is null

如果还有重复时,需要其他字段做识别才可以删除了。假设识别字段为ID,则可以写成:
delete 电影表 where id in ( select min(id) from 电影表 a group by 电影名称 having count(1) > 1 )追问

是这样的,我希望它先找出重复数据,然后删除简介和评分为空的重复项,如果是你说的第一个方法,是删除简介或评分为空的数据,就是这种情况,它们就是为空,如果不重复,是不希望删除的。

追答

delete 电影表 where 简介 ( is null or 评分 is null ) and id in ( select min(id) from 电影表 a group by 电影名称 having count(1) > 1 )

温馨提示:内容为网友见解,仅供参考
第1个回答  2015-07-21
delete from 电影表 where 电影表.简介='' and 电影表.评分=''

你的表没有key吗?追问

因在其它软件上使用,所以没有定义key

本回答被提问者采纳

sql数据库 有多条记录完全重复,怎么删除重复记录,只保留一条,sql语句...
首先将不是重复的数据提取出来,保存到一个临时表中 select distinct * into #temp from 表 然后删除原来的表 delete from 表 最后往里面插入临时表的数据 insert into 表 select * from #temp

SQL删除重复列
1、首先查看数据库中重复的资料,将不重复的数据查询出来并放到临时表中,删除Line表中的内容 。2、将临时表中的数据插入到表Line中,删除临时表。3、再次查询结果就只剩下不重复的数据。4、附上完整的SQL语句,复制后更改表名可直接使用。

sql中怎么删除两条重复记录并保留一条
将数据去重复后暂存到临时表#a中 select distinct * into #a from table1 where 条件 delete table1 where 删除限制条件 insert into table1 select * from #a -将暂存的数据插回数据库 drop table #a -删除临时表 注:当前的数据库,每一个表都应该有一个标志字段,以保证记录不完全重复,否...

如何在Sql中将重复的所有字段删除
1、查找表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断 select * from people where peopleId in (select peopleId from people group by peopleId having count(peopleId) > 1)2、删除表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断,只留有rowid最小的记录 delete ...

SQL数据库删除重复行保留一条记录,怎么写??谢谢哦
删除重复,保留最小id delete from table where exists (select 1 from table t1 where t1.重复字段 = table.重复字段 and t1.id < table.id )---看成是一个循环,从表第一行到最后一行,如果存在比本行ID小的重复数据,那么删除本行。这样循环后的最终结果就是保留了最小ID的一行。保留最大...

SQL怎样删除重复数据?
首先删除一张表中可能存在的重复数据:\\x0d\\x0adelete from 表 where 字段1 in\\x0d\\x0a(select 字段1 from \\x0d\\x0a (select 字段1,row_number() over (partition by 字段1 order by 字段2 desc) rn from 表)\\x0d\\x0awhere rn>1);\\x0d\\x0a以上字段1为需要删除的依据...

SQLServer中删除重复数据的几个方法
1、对于第一种重复,比较容易解决,使用 select distinct * from tableName 就可以得到无重复记录的结果集。 如果该表需要删除重复的记录(重复记录保留1条),可以按以下方法删除 代码如下: select distinct * into #Tmp from tableName drop table tableName select * into tableName from #Tmp dro...

sql 语句去掉复重复的记录
col1 中有重复记录(col1,col2为主键),如何删除 1、有少数重复记录(在col1,col2上有索引比较好)delete t where (col1,col2)in (select col1,col2 from t group by col1,col2 having count(*)> 1)and rowid not in (select min(rowid)from t group by col1,col2 having count(*)>...

如何去掉数据库重复记录并且只保留一条记录
方法如下: 1、查找表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断 select * from peoplewhere peopleId in (select peopleId from people group by peopleId hav 在n条记录里,存在着些相同的记录,如何能用SQL语句,删除掉重复并保留一条呢?方法如下:1、查找表中多余的重复记录,...

SQL中删除重复记录只保留一条的语句,最好有详细解释。
1 --oracle删除重复记录,可以利用oracle独有的rowid 来操作 如:delete from test1 where rowid not in (select max(rowid) from test1);解释: rowid 是一个虚列,不是真正的表中的列,利用rowid的特性(唯一),就可以删除重复记 录了 2 --mysql删除重复记录 思路:利用distinct关键字获取...

相似回答
大家正在搜