Dependiendo del tipo de campo por el cual desees agrupar, podrías usar la función MAX(*) o MIN(*) Ejm : select MAX(number) from tabla PD :
Un ejemplo que parece interesante, pero en una tabla donde se realicen muchos delete y append es este, no siempre te va funcionar es este : ***==================== SQL> select * from demo; no rows selected SQL> insert into demo values ('TEST 1'); 1 row created. SQL> select * from demo order by ROWID; TEST ------------------------------ TEST 1 SQL> insert into demo values ('TEST 2'); 1 row created. SQL> insert into demo values ('TEST 3'); 1 row created. SQL> insert into demo values ('TEST 4'); 1 row created. SQL> commit; Commit complete. SQL> select * from demo where ROWID = (select MAX(ROWID) from demo); TEST ------------------------------ TEST 4 =========================== Pero la realidad es que el rowid es un puntero a un bloque físico, por lo tanto puede no funcionar en todos los casos, la sugerencia es que guardes en la tabla la fecha con la hora (SYSDATE) y hagas el MAX por este campo, o utilices una secuencia para obtener un numerador.
Dame un ejemplo de lo que deseas hacer, y veo que puedo hacer.