Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Gabungkan lalu Hapus entri duplikat

Saya tidak berpikir Anda dapat melakukan ini dalam SQL secara efisien. Salah satu cara lambat untuk melakukannya adalah seperti:

CREATE TEMPORARY TABLE tmp_table (...);
INSERT INTO tmp_table SELECT phone, max(rating) FROM table GROUP BY phone;
TRUNCATE table;
INSERT INTO table SELECT * FROM tmp_table;

Cara yang lebih baik adalah prosedur tersimpan atau skrip eksternal. Pilih semua baris dari tabel yang dipesan oleh phone dan lakukan pengelompokan/penggabungan/penghapusan secara manual (ulangi hasil, bandingkan dengan phone nilai dari baris sebelumnya, jika berbeda Anda memiliki grup baru, dll.). Menulis prosedur tersimpan di MySQL itu menyakitkan, jadi saya tidak akan menulis kode untuk Anda. :)



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. mySQL pilih rentang IN

  2. Bisakah saya menjalankan HTTP GET langsung di SQL di bawah MySQL?

  3. MySQL GROUP OLEH ... MEMILIKI nilai yang berbeda bidang yang sama

  4. Ambil semua baris dari bulan lalu (Laravel + Eloquent)

  5. Bagaimana cara membuat kumpulan koneksi MySQL saat bekerja dengan NodeJS dan Express?