gpt4 book ai didi

Oracle 选择最近的日期记录

转载 作者:行者123 更新时间:2023-12-04 02:53:35 25 4
gpt4 key购买 nike

我正在尝试根据日期字段查找最新记录。当我在 where 子句中设置 latest = 1 时,出现错误。如果可能,请帮忙。 DATE 是我排序的字段。我已经尝试过 latest = 1 和 latest = '1'

SELECT 
STAFF_ID,
SITE_ID,
PAY_LEVEL,
ROW_NUMBER() OVER (PARTITION BY STAFF_ID ORDER BY DATE DESC) latest

FROM OWNER.TABLE
WHERE END_ENROLLMENT_DATE is null
AND latest = 1

最佳答案

您不能在 WHERE 子句中使用来自选择列表的别名(因为 Order of Evaluation 的 SELECT 语句 )

你也不能使用 OVER WHERE 子句中的子句 - “您可以在选择列表或 ORDER BY 子句中使用此子句指定分析函数。” (引自 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

关于Oracle 选择最近的日期记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11128194/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com