ROW_NUMBER
का उपयोग करें उन पंक्तियों को खोजने के लिए विश्लेषणात्मक कार्य जो प्रत्येक समूह में नवीनतम नहीं हैं और फिर आप ROWID
का उपयोग कर सकते हैं DELETE
. में सहसंबद्ध करने के लिए छद्म-स्तंभ :
DELETE FROM tmp_data
WHERE ROWID IN (
SELECT rid
FROM (
SELECT ROWID As rid,
ROW_NUMBER() OVER (
PARTITION BY col_2, col_3, col_6
ORDER BY col_4 DESC
) AS rn
FROM tmp_data
)
WHERE rn > 1
)
जो 22 पंक्तियों को हटा देता है।
db<>fiddle यहां