You do not need RANK() for your specific request. You can rewrite it as follows:
SELECT * FROM TEST_PORTIN t1 WHERE PORT_IN_DATE > '2012-01-16 23:20:27' AND NOT EXISTS ( SELECT * FROM TEST_PORTIN t2 WHERE t1.MSISDN = t2.MSISDN
Or, a little weird (but not necessarily fast) using a quantitative comparison predicate
SELECT * FROM TEST_PORTIN t1 WHERE PORT_IN_DATE > '2012-01-16 23:20:27' AND PORT_IN_DATE >= ALL ( SELECT PORT_IN_DATE FROM TEST_PORTIN t2 WHERE t1.MSISDN = t2.MSISDN ) ORDER BY PORT_IN_DATE
source share