Alasan mengapa ini tidak berhasil adalah karena MySQL tidak mengizinkan Anda untuk mereferensikan tabel yang Anda perbarui (dapat) di dalam subkueri.
Namun hal ini dapat diatasi dengan menggunakan kueri alih-alih tabel itu sendiri di FROM, yang memiliki efek menyalin nilai tabel yang diminta alih-alih mereferensikan yang Anda perbarui.
Jadi secara efektif ini, bahkan jika kontra intuitif, akan berhasil :
DELETE FROM cancome WHERE user_id IN
( SELECT user_id FROM (SELECT * FROM cancome) AS cancomesub
GROUP BY user_id HAVING COUNT(user_id)>3 )
limit 3