当前位置: 代码迷 >> Sql Server >> SQL去掉重复数据记录解决思路
  详细解决方案

SQL去掉重复数据记录解决思路

热度:42   发布时间:2016-04-24 18:32:54.0
SQL去掉重复数据记录

我的数据如上述所示   以ISBN字段为例   想去掉重复的且PrimaryAuthor作者字段为空的那些记录  请问这样的语句 怎么写  谢谢了
------解决方案--------------------
where PrimaryAuthor<>'' 或者用group by加max去重
------解决方案--------------------

DELETE  A FROM Book AS a WHERE EXISTS(SELECT 1 FROM Book WHERE ISBN=a.ISBN AND a.Title=b.BookName AND ISNULL(PrimaryAuthor,'')>'') AND ISNULL(PrimaryAuthor,'')=''

------解决方案--------------------
DELETE a FROM [Table] a WHERE EXISTS(SELECT 1 FROM [Table] WHERE ISBN=a.ISBN AND PrimaryAuthor<>'') AND PrimaryAuthor=''

------解决方案--------------------
试试这个:
select *
from
(
select *,
       ROW_NUMBER() over(partition by isbn order by primaryAuthor desc) rownum
from 表
)t
where rownum = 1
  相关解决方案