RE: possible to do a group by on a time interval? (or some other way to do this)

  • From: "Igor Neyman" <ineyman@xxxxxxxxxxxxxx>
  • To: <ryan_gaffuri@xxxxxxxxxxx>, <oracle-l@xxxxxxxxxxxxx>
  • Date: Thu, 11 Oct 2007 09:13:30 -0400

select sum(mymetric) as bytes 
from metrictable 
where mytimestamp >= ( select max(mytimestamp) - 1/96 from metrictable);

Igor

-----Original Message-----
From: oracle-l-bounce@xxxxxxxxxxxxx
[mailto:oracle-l-bounce@xxxxxxxxxxxxx] On Behalf Of
ryan_gaffuri@xxxxxxxxxxx
Sent: Wednesday, October 10, 2007 6:12 PM
To: oracle-l@xxxxxxxxxxxxx
Subject: possible to do a group by on a time interval? (or some other
way to do this)

seselect max(mytimestamp) as time, sum(mymetric) as bytes from
metrictable where mymetric > ( select max(mymetric) from metrictable) -
(1/96)


"mytimestamp" is a timestamp data type. 

I want to get a sum for every 15 minute interval in the table. I will
add a where clause to limit how far back I want to go. The where clause
I have there now is just an example. 

tried group by, group by rollup, analytic with a window. 

do i need the model clause? I have never used that. I really do think
there is a way to do this in straight sql. Been working on it for a
while....
--
//www.freelists.org/webpage/oracle-l



--
//www.freelists.org/webpage/oracle-l


Other related posts: