我正在尝试为Oracle SQL编写SQL查询,以便检索特定时间段的最后记录。例如,假设频率是季度,(我也喜欢每月和每年工作),如果需要,我可以提供季度的开始日期和结束日期,但我需要检索每个季度内的最后一个条目。我怎样才能做到这一点?到目前为止,我没有写过很多子查询,运气有限。
答案 0 :(得分:2)
尝试类似:
select * from
(select t.*,
row_number() over (partition by trunc(date_field, 'MON')
order by date_field desc) rn
from my_table t)
where rn = 1
几个月了。 (在trunc
条款中使用'Q'或'Y'而不是'MON'表示季度或年份。)
答案 1 :(得分:0)
SELECT col1, col2, col3...colN
FROM TableA
WHERE (colX = (SELECT MAX(Date) AS LastDate
FROM TableA
WHERE QuarterDate Between (BeginningDate AND EndingDate)
colX是日期列,是您在本季度需要检查的日期。
我认为这应该有用。