Apakah Anda mendapatkan kesalahan ini?
Itu karena Anda tidak dapat memperbarui tabel secara langsung jika Anda menggunakannya pada pernyataan subselect lain. Salah satu alternatifnya adalah menggabungkan tabel dengan dirinya sendiri.
UPDATE list a
INNER JOIN
(
SELECT dn
FROM list
GROUP BY dn
HAVING COUNT(*) < 2000
) b ON a.dn = b.dn
SET a.li = '6'
WHERE a.li = '5