Oracle select most recent date record

后端 未结 4 1780
我在风中等你
我在风中等你 2020-12-16 16:15

I am trying to find the most recent record based on a date field. When I set latest = 1 in the where clause, I get an error. Please help if possible. DATE is a the field I

4条回答
  •  时光取名叫无心
    2020-12-16 16:52

    you can't use aliases from select list inside the WHERE clause (because of the Order of Evaluation of a SELECT statement)

    also you cannot use OVER clause inside WHERE clause - "You can specify analytic functions with this clause in the select list or ORDER BY clause." (citation from 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
    

提交回复
热议问题