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

Bagaimana cara menghapus dari pilih di MySQL?

SELECT (sub)query mengembalikan hasil set . Jadi, Anda perlu menggunakan IN , bukan = di WHERE . Anda klausa.

Selain itu, seperti yang ditunjukkan dalam jawaban ini Anda tidak dapat mengubah tabel yang sama dari subkueri dalam kueri yang sama. Namun, Anda dapat SELECT lalu DELETE dalam kueri terpisah, atau susun subkueri lain dan alias hasil subkueri dalam (namun terlihat agak kacau):

DELETE FROM posts WHERE id IN (
    SELECT * FROM (
        SELECT id FROM posts GROUP BY id HAVING ( COUNT(id) > 1 )
    ) AS p
)

Atau gunakan joins seperti yang disarankan oleh Mchl .



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Praktik terbaik:Impor file mySQL di PHP; membagi kueri

  2. Perbedaan MySQL JOIN vs LEFT JOIN

  3. MySQL:Cara tercepat untuk menghitung jumlah baris

  4. Apa kesalahannya Setiap tabel turunan harus memiliki alias sendiri di MySQL?

  5. Hapus duplikat hanya menggunakan kueri MySQL?