我正在尝试为Oracle SQL编写一个SQL查询,以便检索特定周期频率的最后记录。例如,假设频率是季度(我还希望每月和每年工作),如果需要,我可以提供季度的开始日期和结束日期,但我需要检索每个季度内的最后一个条目。我该怎么做呢?到目前为止,我的运气有限,没有编写很多子查询。
发布于 2012-08-07 00:26:15
尝试如下所示:
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‘。)
发布于 2012-08-07 00:31:11
SELECT col1, col2, col3...colN
FROM TableA
WHERE (colX = (SELECT MAX(Date) AS LastDate
FROM TableA
WHERE QuarterDate Between (BeginningDate AND EndingDate)colX是日期列,它是您需要检查的日期。
我想这应该行得通。
https://stackoverflow.com/questions/11832121
复制相似问题