2012-03-02 13 views

Odpowiedz

9

Czy możesz podać więcej informacji o strukturze tabeli i co masz na myśli, że niektóre są duplikowane, ale tylko dwie kolumny?

W każdym razie, można zajrzeć do GROUP BY, COUNT i HAVING

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

Ogólną zasadą znajdowania duplikatów jest po prostu użyć group by i having count(*) > 1

Jeśli chcesz po prostu poznać duplikat kolumnę wartości:

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

Jeśli jednak chcesz zobaczyć wszystkie pola, gdzie dwie kolumny są powielane:

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

lub po prostu dodać '*' '.. SELECT *, COUNT (*) tot' – Fabrizio