Я пытаюсь получить подсчет количества повторяющихся значений в двух столбцах, группирующих в другом столбце в SQL Server.
Ниже приведен пример сценария, над которым я работаю.
DECLARE @mytable TABLE (CampName varchar(10),ID VARCHAR(10),ListName varchar(10))
INSERT INTO @mytable
( CampName, ID, ListName )
VALUES ( 'A', 'X', 'Y' ), ( 'A', 'X', 'Y' ),
( 'A', 'Y', 'Z' ), ( 'A', 'Y', 'Z' ),
( 'A', 'Y', 'Z' ), ( 'A', 'P', 'Q' ),
( 'B', 'X', 'Y' ), ( 'B', 'X', 'Y' ),
( 'B', 'Y', 'Z' ), ( 'B', 'Y', 'Z' ),
( 'B', 'Y', 'Z' ), ( 'B', 'P', 'Q' ),
( 'B', 'R', 'S' ), ( 'B', 'R', 'S' )
Это приведет к следующей таблице.
CampName ID ListName
-------------------------------------
A X Y
A X Y -- Duplicate Record
A Y Z
A Y Z -- Duplicate Record
A Y Z -- Duplicate Record
A P Q
B X Y
B X Y -- Duplicate Record
B Y Z
B Y Z -- Duplicate Record
B Y Z -- Duplicate Record
B P Q
B R S
B R S -- Duplicate Record
Мне нужен вывод следующим образом:
CampName dupcount
-------------------
A 3
B 4
В принципе, мне нужно выяснить количество дубликатов (ID, ListName) для каждого имени CampName независимо от того, что представляют собой повторяющиеся значения.
Сообщите мне, могу ли я прояснить что-то еще в этом отношении. Любая помощь будет принята с благодарностью.