Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Encontrar valores duplicados atribuídos a mais de um valor exclusivo

WITH CTE AS (SELECT DBVersionKey, Desc19, ROW_NUMBER()OVER(PARTITION BY Desc19
ORDER BY Desc19) RN
FROM Table_A)

SELECT * FROM CTE WHERE RN > 1

Sugiro usar expressões de tabela comuns com partições de número de linha. Isso cria uma contagem (RN) de cada instância de Desc19.

Não posso testar a consulta agora, mas mantenha-me atualizado sobre seus resultados e posso ajustar a partir daí.

EDITAR

Se DBVersionKey não for um valor exclusivo, eu tentaria:
SELECT DISTINCT DBVersionKey, Desc19, COUNT(*)
FROM Table_A
Group by DBVersionKey, Desc19

Deixe-me saber se isso funciona melhor.

EDITAR 2

Mais um, não consigo testar. Adicionando à primeira consulta sugerida:
WITH CTE AS (SELECT DBVersionKey, Desc19, ROW_NUMBER()OVER(PARTITION BY Desc19 ORDER BY Desc19) RN 
FROM (SELECT DISTINCT DBVersionKey, Desc19 FROM Table_A GROUP BY DBVersionKey, Desc19)

SELECT * FROM CTE WHERE RN > 1