Oracle
 sql >> Database >  >> RDS >> Oracle

Prendendo il record con la data massima

L'approccio della funzione analitica sarebbe simile a

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

Tieni presente che, a seconda di come vuoi gestire le pareggi (o se sono possibili pareggi nel tuo modello di dati), potresti voler utilizzare il ROW_NUMBER o il DENSE_RANK funzione analitica anziché RANK .