Oracle
 sql >> Base de données >  >> RDS >> Oracle

Oracle sélectionne l'enregistrement de date le plus récent

vous ne pouvez pas utiliser d'alias de la liste de sélection à l'intérieur de la clause WHERE (en raison de l'ordre d'évaluation d'une instruction SELECT )

vous ne pouvez pas non plus utiliser OVER clause à l'intérieur de la clause WHERE - "Vous pouvez spécifier des fonctions analytiques avec cette clause dans la liste de sélection ou la clause ORDER BY." (citation de docs.oracle.com )

select *
from (select
  staff_id, site_id, pay_level, date, 
  max(date) over (partition by staff_id) max_date
  from owner.table
  where end_enrollment_date is null
)
where date = max_date