首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何使用Server确定列中哪些行具有重复值?

如何使用Server确定列中哪些行具有重复值?
EN

Stack Overflow用户
提问于 2017-01-14 06:36:50
回答 2查看 44关注 0票数 1

我有一张桌子:

代码语言:javascript
代码运行次数:0
运行
复制
CREATE TABLE [dbo].[Phrase]
(
    [PhraseId] UNIQUEIDENTIFIER DEFAULT (newid()) NOT NULL,
    [English] NVARCHAR(250) NOT NULL,
    [Romaji] NVARCHAR(MAX) NULL
)

我试图为English列添加一个唯一的索引,但由于存在重复,它失败了。我怎样才能找出哪些是复制的?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-01-14 06:50:28

嵌套查询查找2行或更多行中的English值。外部查询返回嵌套查询中具有English值的行。

这里需要一个嵌套查询,因为您可能希望获得PhraseId,如果您希望获得重复值,那么PhraseId就会丢失。

代码语言:javascript
代码运行次数:0
运行
复制
select *
from Phrase
where English in
  (select English
  from Phrase
  group by English
  having count(*) > 1)
order by English
票数 0
EN

Stack Overflow用户

发布于 2017-01-14 06:58:08

代码语言:javascript
代码运行次数:0
运行
复制
;With dupes
as
(select *,row_number() over (partition by english order by (select null)) as rownum
from table)
select * from cte where rownum>1
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41647472

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档