删除特定的行-SQLite

问题描述 投票:0回答:2

我正在尝试使用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
sql sqlite common-table-expression sql-delete dbeaver
2个回答
0
投票
transaction_id

0
投票
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 )
© www.soinside.com 2019 - 2024. All rights reserved.