2
我有一个在Oracle 11g中有不同用户的多个记录的表,我想从表中删除多余的记录,并且只保留5个最新的记录用户。请考虑下面的表格截图,其中包含用户“JACK”,“ANGEL”,“MACK”的多个记录我必须为每个基于列“CREATED_ON”的新用户保留5条记录(行)并删除旧的。从oracle表中删除记录保留所有用户的最新5条记录
谁能给我提供一个样本Oracle查询执行上面的场景。
在此先感谢。
我有一个在Oracle 11g中有不同用户的多个记录的表,我想从表中删除多余的记录,并且只保留5个最新的记录用户。请考虑下面的表格截图,其中包含用户“JACK”,“ANGEL”,“MACK”的多个记录我必须为每个基于列“CREATED_ON”的新用户保留5条记录(行)并删除旧的。从oracle表中删除记录保留所有用户的最新5条记录
谁能给我提供一个样本Oracle查询执行上面的场景。
在此先感谢。
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
)
假设: