查询日程日期比较

时间:2017-03-07 07:47:51

标签: sql oracle

我有一张这样的表:

account number(repeat) | schedule_due_date
---------------------- | -----------------
111                    | '01-FEB-2017'
111                    | '01-MAR-2017'
111                    | '01-APR-2017'

我想要一个SQL查询,如果schedule_due_date是第一个或最后一个,它将提供帐号。

如果sysdate01-FEB-2017,那么它应该提供帐号,或者sysdate01-APR-2017,那么它应该提供帐号。

但是,如果sysdate01-MAR-2017,则不应提供帐号。 实际上,它应检查所有帐户的sysdate的最小日期和最长日期,并给出结果。

2 个答案:

答案 0 :(得分:3)

尝试以下方法,(使用GROUP BYHAVING即可解决此问题。)

SELECT  account_number
FROM    table1
GROUP BY    account_number
HAVING  MAX(schedule_due_date) = sysdate
    OR  MIN(schedule_due_date) = sysdate

答案 1 :(得分:1)

试试这个

SELECT  account_number
FROM    table1 
where schedule_due_date  = (select max(schedule_due_date) from table1 )
or schedule_due_date  = (select min(schedule_due_date) from table1 )