Bạn có thể sử dụng ROW_NUMBER
chức năng phân tích và xóa tương quan bằng cách sử dụng ROWID
cột giả:
DELETE FROM my_table
WHERE ROWID IN (
SELECT ROWID
FROM (
SELECT ROW_NUMBER() OVER (
PARTITION BY student_id, subject_id, class_id
ORDER BY expertise_lvl DESC
) AS rn
FROM my_table
)
WHERE rn > 1
)
db <> fiddle tại đây