title: Aggregate function over a given time interval
body: <p>My SQL is a bit rusty and I'm having quite a bit of difficulty with this problem. Suppose I have a table with a Timestamp column and a Number column. The goal is to return a result set containing the average value for some arbitrarily chosen regular interval.</p>
  
  <p>So, for example, if I had the following initial data, the resulting output with a 5 minute interval would be as follows:</p>
  
  <pre><code>time                               value
  -------------------------------    -----
  06-JUN-12 12.40.00.000000000 PM      2
  06-JUN-12 12.41.35.000000000 PM      3
  06-JUN-12 12.43.22.000000000 PM      4
  06-JUN-12 12.47.55.000000000 PM      5
  06-JUN-12 12.52.00.000000000 PM      2
  06-JUN-12 12.54.59.000000000 PM      3
  06-JUN-12 12.56.01.000000000 PM      4
  
  OUTPUT:
  
  start_time                         avg_value
  -------------------------------    ---------
  06-JUN-12 12.40.00.000000000 PM      3
  06-JUN-12 12.45.00.000000000 PM      5
  06-JUN-12 12.50.00.000000000 PM      2.5
  06-JUN-12 12.55.00.000000000 PM      4
  </code></pre>
  
  <p>Note that this is an Oracle database, so Oracle-specific solutions would work fine. This could, of course, be done with a stored procedure but I was hoping to accomplish the task in a single query.</p>