小编use*_*258的帖子

删除重复的行 - Oracle

这是我的一些数据的示例.我试图删除所有额外的数据,其中QueryID和RoyID与表中的其他条目相同,但是,我想保留至少一条记录.我不确定我是否能够在ID列上使用min或max函数,因为某些记录具有DEMO_12345等ID.

ID          QUERY_ID ROYALTY_ID
RTSQR1652   SQ1421  ROY25644005
RTSQR1653   SQ1421  ROY25636406
RTSQR1654   SQ1421  ROY25636557
RTSQR1655   SQ1421  ROY25636558
RTSQR1656   SQ1421  ROY25636559
RTSQR1657   SQ1421  ROY25636560
Run Code Online (Sandbox Code Playgroud)

我在考虑使用ROWID而不是ID.以下查询是否有效?

 DELETE FROM RT_SOURCE_QUERY_ROYALTIES WHERE ROWID NOT IN (
 SELECT MAX(ROWID) FROM RT_SOURCE_QUERY_ROYALTIES GROUP BY ROYALTY_ID, QUERY_ID);
Run Code Online (Sandbox Code Playgroud)

oracle plsql duplicate-removal rowid

1
推荐指数
1
解决办法
6306
查看次数

标签 统计

duplicate-removal ×1

oracle ×1

plsql ×1

rowid ×1