我在Oracle 11g中有一个表,它为不同的用户提供了多条记录,我想从表中删除多馀的旧记录,并且只为特定用户保存5条最新记录。
示例:考虑下表中的屏幕截图,其中包含多条用户"JACK“、"ANGEL”、"MACK“的记录,我只需为每一个新用户保留5条记录(行),这些记录都是基于"CREATED_ON”列的,并删除旧的记录(行)。

有人能向我提供一个示例Oracle查询来执行上面的场景吗?
提前谢谢。
发布于 2016-08-12 14:08:42
delete from testp
where id in
( select id
from
(
select id, row_number() over (
partition by name order by created_on desc ) rn
from testp)
where rn > 5
)假设:
https://stackoverflow.com/questions/38919526
复制相似问题