我正在尝试使用cte从与外科医生名称'Lucille Torres'相关的表'exchange_transactions'中删除重复的行。 transaction_id列应该是唯一的,但是在这种情况下是重复的,因此尝试删除它们。我尝试了这段代码,但似乎没有用。将“ DELETE”替换为“ SELECT *”会显示我要删除的所有行。我在做什么错?
WITH cte AS (
SELECT
transaction_id,
surgeon,
ROW_NUMBER() OVER (
PARTITION BY
transaction_id
) row_num
FROM exchange_transactions)
DELETE FROM cte
WHERE surgeon = 'Lucille Torres' AND row_num > 1
transaction_id
delete from exchange_transactions
where exists (
select 1 from exchange_transactions t
where t.transaction_id = exchange_transactions.transaction_id
and t.rowid < exchange_transactions.rowid
)