ऐसा इसलिए है क्योंकि ROWNUM एक छद्म स्तंभ है जिसका अर्थ है कि वे भौतिक रूप से मौजूद नहीं हैं। आप rowid
. का बेहतर उपयोग कर सकते हैं रिकॉर्ड मिटाने के लिए।
डुप्लिकेट को हटाने के लिए आप इस तरह कोशिश कर सकते हैं:
DELETE FROM mytable a
WHERE EXISTS( SELECT 1 FROM mytable b
WHERE a.id = b.id
AND a.name = b.name
AND a.rowid > b.rowid )