我正在尝试获取特定日期范围的数据,我这样做:
select EntryID
min(dtUsedDate) dtFirstUsedDate,
max(dtUsedDate) dtLastUsedDate
from tblEntrance e
where e.dtUsedDate between to_date('2016-02-08 10:00:00', 'yyyy-mm-dd hh24:mi:ss')
AND to_date('2016-02-08 10:15:59', 'yyyy-mm-dd hh24:mi:ss')
(在外部选择中调用dtFirstUsedDate和dtLastUsedDate,所以暂时不要担心它们)
我得到的是只在那些日期/时间之间的入口(记录),所以dtFirstUsedDate和dtLastUsedDate都在这个日期范围之间。但我需要的是那两个是独立的,比如dtFirstUsed必须介于最大和最小日期之间,而dtLastUsed必须介于最大和最小日期之间。
我希望我的问题是可以理解的,有人可以帮助我。
答案 0 :(得分:1)
我认为你正在寻找这个......
SELECT e.EntryID
,MIN(e.dtUsedDate) dtFirstUsedDate
,MAX(e.dtUsedDate) dtLastUsedDate
FROM tblEntrance e
GROUP
BY e.EntryID
HAVING MIN(e.dtUsedDate) BETWEEN TO_DATE('2016-02-08 10:00:00', 'yyyy-mm-dd hh24:mi:ss')
AND TO_DATE('2016-02-08 10:15:59', 'yyyy-mm-dd hh24:mi:ss')
AND MAX(e.dtUsedDate) BETWEEN TO_DATE('2016-02-08 10:00:00', 'yyyy-mm-dd hh24:mi:ss')
AND TO_DATE('2016-02-08 10:15:59', 'yyyy-mm-dd hh24:mi:ss')