MIN and MAX datetimes ti find range
916675Dec 5 2012 — edited Apr 3 2013I am using Oracle 11g version
create table re(Name char(20),Datetime char(45),val1 number);
insert into re values('abc','10/29/2012 13:00','1.5')
insert into re values('abc','10/29/2012 13:05','1.5')
insert into re values('abc','10/29/2012 13:10','1.5')
insert into re values('abc','10/29/2012 13:15','1.5')
insert into re values('abc','10/29/2012 13:20','0.00')
insert into re values('abc','10/29/2012 13:25','0.00')
insert into re values('abc','10/29/2012 13:30','0.00')
insert into re values('abc','10/29/2012 13:35','0.00')
insert into re values('abc','10/29/2012 13:40','2.1')
insert into re values('abc','10/29/2012 13:45','2.3')
insert into re values('abc','10/29/2012 13:50','2.1')
insert into re values('abc','10/29/2012 13:55','2.1')
insert into re values('abc','10/29/2012 14:00','2.2')
O/P:
In this way data is stored in database.Needed output is, I want the datetime column data range with min and max values where val1>0 only.
Expected result while we consider the above data is::
Name mintime maxtime
abc 10/19/2012 13:00 10/19/2012 13:15
abc 10/29/2012 13:40 10/29/2012 14:00
For this I tried something like this,
select name, min(to_date(Datetime ,'mm/dd/yyyy hh24:mi')) start, max(to_date(Datetime ,'mm/dd/yyyy hh24:mi')) end from (
select name, Datetime ,to_date(Datetime ,'mm/dd/yyyy hh24:mi') - rank() over (partition by loc_name order by t1 asc) Val_col from re where val1 > 0
) group by lname, Val_col
but I am getting the output like this for above query.
name start end
abc 10/29/2012 13:00 10/29/2012 13:00
abc 10/29/2012 13:05 10/29/2012 13:05
:
:
:
:
:
:
so.on.
Edited by: 913672 on Apr 3, 2013 3:07 AM