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

Mysql Hàng trùng lặp (Đã phát hiện trùng lặp bằng cách sử dụng 2 cột)

delete from myTable 
where id not in
(select min(id)
from myTable
group by A, B)

tức là lựa chọn trong ngoặc trả về id đầu tiên cho mỗi nhóm A và B; xóa tất cả các id không có trong tập hợp này sẽ xóa tất cả các lần xuất hiện của kết hợp A-plus-B "tiếp theo" với lần xuất hiện đầu tiên của nó.

CHỈNH SỬA :cú pháp này có vẻ có vấn đề:xem báo cáo lỗi:

http://bugs.mysql.com/bug.php?id=5037

Một giải pháp khả thi là thực hiện điều này:

delete from myTable 
where id not in
(
      select minid from 
      (select min(id) as minid from myTable group by A, B) as newtable
) 


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. làm thế nào để phát âm thanh mp3 được lưu trữ im mysql blob bằng php

  2. Đối chiếu tốt nhất để sử dụng cho MySQL với PHP là gì?

  3. Định dạng biến MySQL cho danh sách giá trị NOT IN

  4. Điền mảng PHP từ Vòng lặp Trong khi

  5. Có thể tạo một cột với UNIX_TIMESTAMP mặc định trong MySQL không?