Vì vậy, tôi muốn làm một cái gì đó giống như mã này sql dưới đây:Làm cách nào để tìm các bản sao trên nhiều cột?
select s.id, s.name,s.city
from stuff s
group by s.name having count(where city and name are identical) > 1
Để tạo ra những điều sau đây, (nhưng bỏ qua mà chỉ có tên hoặc chỉ phù hợp với thành phố, nó phải được trên cả hai cột):
id name city
904834 jim London
904835 jim London
90145 Fred Paris
90132 Fred Paris
90133 Fred Paris
Lưu ý rằng nếu '' 'name''' hoặc' '' city''' chứa '' 'null''', thì chúng sẽ không được báo cáo trong truy vấn bên ngoài, nhưng sẽ được đối sánh trong truy vấn bên trong. –
Nếu các giá trị có thể chứa '' 'null''' thì (trừ khi tôi thiếu một cái gì đó), bạn cần thay đổi nó thành' '' CROSS JOIN''' (sản phẩm đầy đủ Cartesian) và sau đó thêm '' ' Mệnh đề WHERE''' như: '' 'WHERE ((s.name = t.name) OR (s.name là null và t.name là null)) AND ((s.city = t.city) OR (s.city là null và t.city là null)) '' ' –