A commonly encountered problem to query a min/max per group or some other criteria – can be solved with subqueries

“A subquery is a query within a query. In Oracle, you can create subqueries within your SQL statements. These subqueries can reside in the WHERE clause, the FROM clause, or the SELECT clause.” reference 1 reference 2

1 select id, startdate 
2 from employee, (SELECT grade, min(startdate) as minentrydate
3   from employee
4   GROUP BY rank) subquery
5 where subquery.minentrydate = employee.startdate 
6 and employee.grade = subquery.grade;