Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Các hàng trùng lặp trong MySQL

Tôi sẽ chạy một con trỏ (với ngôn ngữ lập trình MySQL SP, Java, Python, .NET) trên truy vấn này:

select Name, Firstname, Lastname, count(1)
  from Pruebas
 group by Name, Firstname, Lastname
having count(1) > 1

Sau đó, trên các hàng được trả về từ con trỏ, chỉ cần làm bất cứ điều gì bạn cần:kiểm tra phiên bản FIN%, kiểm tra sự hiện diện của PersonalKey và cập nhật cho phù hợp.

Đối với mỗi hàng trên con trỏ, bạn có thể mở một con trỏ khác bằng:

select *
  from Pruebas
 where Name = the_Name
   and Firstname = the_Firstname
   and Lastname = the_Lastname

Và bây giờ, bạn sẽ có một con trỏ bên trong với tất cả các hàng bạn sẽ sửa đổi. Nếu nó là cái bạn cần, hãy giữ nó và cập nhật nó với giá trị KEY mà bạn đã đề cập. Nếu không, hãy xóa nó.

Trong Oracle, bạn có thể đạt được những gì bạn muốn trong một truy vấn, nhưng tôi không nghĩ rằng theo cách đó, bạn sẽ nhận được hiệu suất tương tự như cách tiếp cận này.

Hy vọng nó sẽ hữu ích.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Chèn và chọn UUID dưới dạng nhị phân (16)

  2. mysql:SOURCE lỗi 2?

  3. Spark:Không thể đọc bảng MySQL lớn vào DataFrame

  4. Thả trả về cơ sở dữ liệu Lỗi khi rớt cơ sở dữ liệu errno:66 trong MySQL

  5. MySql sử dụng cú pháp đúng cho mệnh đề over