我正在尝试为 Oracle SQL 编写一个 SQL 查询,以便检索某个周期频率的最后一条记录。例如,假设频率是季度,(我也希望每月和每年工作),如果需要,我可以提供季度的开始日期和结束日期,但我需要检索每个季度内的最后一个条目。我怎样才能做到这一点?到目前为止,我的运气有限,没有写很多子查询。
问问题
453 次
2 回答
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” 。)
于 2012-08-06T16:26:14.623 回答
0
SELECT col1, col2, col3...colN
FROM TableA
WHERE (colX = (SELECT MAX(Date) AS LastDate
FROM TableA
WHERE QuarterDate Between (BeginningDate AND EndingDate)
colX 是日期列,它是您需要检查的日期是否在该季度。
我认为这应该有效。
于 2012-08-06T16:31:10.587 回答