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 .