Får du det här felet?
Det beror på att du inte kan uppdatera tabellen direkt om du använder den på en annan subselect-sats. Ett alternativ till detta är att slå sig samman med sig själv.
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