
我的数据如上述所示 以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