1

我正在尝试为 Oracle SQL 编写一个 SQL 查询,以便检索某个周期频率的最后一条记录。例如,假设频率是季度,(我也希望每月和每年工作),如果需要,我可以提供季度的开始日期和结束日期,但我需要检索每个季度内的最后一个条目。我怎样才能做到这一点?到目前为止,我的运气有限,没有写很多子查询。

4

2 回答 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 回答