我有一张这样的表:
account number(repeat) | schedule_due_date
---------------------- | -----------------
111 | '01-FEB-2017'
111 | '01-MAR-2017'
111 | '01-APR-2017'
我想要一个SQL查询,如果schedule_due_date
是第一个或最后一个,它将提供帐号。
如果sysdate
为01-FEB-2017
,那么它应该提供帐号,或者sysdate
是01-APR-2017
,那么它应该提供帐号。
但是,如果sysdate
为01-MAR-2017
,则不应提供帐号。
实际上,它应检查所有帐户的sysdate
的最小日期和最长日期,并给出结果。
答案 0 :(得分:3)
尝试以下方法,(使用GROUP BY
和HAVING
即可解决此问题。)
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 )