Search notes:

Oracle SQL Plan operation TABLE ACCESS BY USER ROWID

create table tq84_tab (
   id     integer,
   grp    varchar2(3),
   val    number
);


begin
insert into tq84_tab values (1, 'AAA',  7);
insert into tq84_tab values (2, 'AAA', 12);
insert into tq84_tab values (3, 'AAA',  5);
insert into tq84_tab values (4, 'BBB',  2);
insert into tq84_tab values (5, 'CCC', 21);
insert into tq84_tab values (6, 'CCC', 18);
insert into tq84_tab values (7, 'CCC',  3);
end;
/

explain plan for
select *
from
   tq84_tab
where
   rowid = (
      select max(rowid) keep (dense_rank first order by val desc) from tq84_tab
   )
;

select * from table(dbms_xplan.display(format => 'basic'));
--
-- -----------------------------------------------
-- | Id  | Operation                  | Name     |
-- -----------------------------------------------
-- |   0 | SELECT STATEMENT           |          |
-- |   1 |  TABLE ACCESS BY USER ROWID| TQ84_TAB |
-- |   2 |   SORT AGGREGATE           |          |
-- |   3 |    TABLE ACCESS FULL       | TQ84_TAB |
-- -----------------------------------------------

drop   table tq84_tab;

See also

rowid
TABLE ACCESS BY INDEX ROWID
SQL statement execution plan operations

Index