Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

Tirando o registro com a data máxima


A abordagem da função analítica seria algo como
SELECT a, some_date_column
  FROM (SELECT a,
               some_date_column,
               rank() over (partition by a order by some_date_column desc) rnk
          FROM tablename)
 WHERE rnk = 1

Observe que, dependendo de como você deseja lidar com empates (ou se os empates são possíveis em seu modelo de dados), você pode usar o ROW_NUMBER ou o DENSE_RANK função analítica em vez de RANK .