我有一张桌子:
CREATE TABLE [dbo].[Phrase]
(
[PhraseId] UNIQUEIDENTIFIER DEFAULT (newid()) NOT NULL,
[English] NVARCHAR(250) NOT NULL,
[Romaji] NVARCHAR(MAX) NULL
)
我试图为English
列添加一个唯一的索引,但由于存在重复,它失败了。我怎样才能找出哪些是复制的?
发布于 2017-01-13 22:50:28
嵌套查询查找2行或更多行中的English
值。外部查询返回嵌套查询中具有English
值的行。
这里需要一个嵌套查询,因为您可能希望获得PhraseId
,如果您希望获得重复值,那么PhraseId
就会丢失。
select *
from Phrase
where English in
(select English
from Phrase
group by English
having count(*) > 1)
order by English
发布于 2017-01-13 22:58:08
;With dupes
as
(select *,row_number() over (partition by english order by (select null)) as rownum
from table)
select * from cte where rownum>1
https://stackoverflow.com/questions/41647472
复制相似问题