SQL:查找与一个 ID 关联的重复值
SQL: Find duplicated values associated with one ID
感谢 NoDisplayName () 让我的 table 拥有主要标签。但现在我需要帮助查询以查找 table.
中的错误
示例输入:
Column1 | Column2 |
ID1 Primary
ID1 Primary
ID1
ID2 Primary
ID2
ID3 Primary
ID3
具体来说,如果 Column2 中有超过 1 个主节点与 Column1 中的相同值相关联,查询将查找什么?
我只需要输出是可操作的,这样我就可以删除重复的主要标签。
谢谢!
select
column1,
column2,
count(column1)
from tablename
groupby column1, column2
having count(column1) > 1
或者您可以这样做:
;WITH CTE AS
(SELECT Column1, Column 2, ROW_NUMBER() OVER (PARTITION BY Column1, Column2 ORDER BY Column1) AS 'DupsWillHave2'
FROM Foo)
SELECT *
FROM CTE
WHERE DupsWillHave2 > 1
我认为以下是您想要的查询:
select column1, count(column1)
from tablename
where column2 = 'Primary'
group by column1
having count(*) > 1;
这将只选取 'Primary'
的重复值。它不会拾取重复的空白值。
感谢 NoDisplayName (
示例输入:
Column1 | Column2 |
ID1 Primary
ID1 Primary
ID1
ID2 Primary
ID2
ID3 Primary
ID3
具体来说,如果 Column2 中有超过 1 个主节点与 Column1 中的相同值相关联,查询将查找什么?
我只需要输出是可操作的,这样我就可以删除重复的主要标签。
谢谢!
select
column1,
column2,
count(column1)
from tablename
groupby column1, column2
having count(column1) > 1
或者您可以这样做:
;WITH CTE AS
(SELECT Column1, Column 2, ROW_NUMBER() OVER (PARTITION BY Column1, Column2 ORDER BY Column1) AS 'DupsWillHave2'
FROM Foo)
SELECT *
FROM CTE
WHERE DupsWillHave2 > 1
我认为以下是您想要的查询:
select column1, count(column1)
from tablename
where column2 = 'Primary'
group by column1
having count(*) > 1;
这将只选取 'Primary'
的重复值。它不会拾取重复的空白值。