2012-03-02 20 views

Respuesta

9

¿Puedes publicar más información sobre la estructura de la tabla y qué quieres decir con que algunos están duplicados pero solo por dos columnas?

De todos modos, se puede mirar en la GROUP BY, COUNT y HAVING

SELECT `duped_field1`, `duped_field2`, COUNT(*) `tot` 
FROM `table` 
GROUP BY `duped_field1`, `duped_field2` 
HAVING `tot` > 1 
3

El principio general para encontrar duplicados es usar group by y having count(*) > 1

Si lo que desea saber la columna duplicado valores:

select col1, col2 
from table 
group by col1, col2 
having count(*) > 1 

Sin embargo, si desea ver todos los campos en los que se duplican las dos columnas:

select t.* 
from @tbl t 
where exists (select * 
       from @tbl d 
       where d.col1 = t.col1 and d.col2 = t.col2 
       group by d.col1 
       having COUNT(*) > 1) 
+0

o simplemente añadir un '*' '.. SELECT *, CUENTA (*) tot' – Fabrizio

Cuestiones relacionadas