Select top N with "for update skip locked" in Oracle Select top N with "for update skip locked" in Oracle oracle oracle

Select top N with "for update skip locked" in Oracle


Will this work?

select messageid from messages     where messageid in (       select messageid from(         select           messageid,           RANK() over (order by messageid asc) as msg_rank           from messages       ) where msg_rank=1    )  for update skip locked;