このエラーが発生しますか?
別の副選択ステートメントで使用している場合、テーブルを直接更新できないためです。これの1つの代替方法は、テーブルをそれ自体と結合することです。
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