Agrupar registros por tiempo.

Tengo una tabla que contiene una columna de fecha y hora y algunas otras columnas misceláneas. La columna de fecha y hora representa un evento que ocurre. Puede contener una hora (el evento ocurrió en ese momento) o NULL (el evento no ocurrió)

Ahora quiero contar el número de registros que ocurren en intervalos específicos (15 minutos), pero no sé cómo hacerlo.

ejemplo:

<code>id | time                | foreign_key
1  | 2012-01-01 00:00:01 | 2
2  | 2012-01-01 00:02:01 | 4
3  | 2012-01-01 00:16:00 | 1
4  | 2012-01-01 00:17:00 | 9
5  | 2012-01-01 00:31:00 | 6
</code>

Ahora quiero crear una consulta que cree un conjunto de resultados similar a:

<code>interval            | COUNT(id)
2012-01-01 00:00:00 | 2
2012-01-01 00:15:00 | 2
2012-01-01 00:30:00 | 1
</code>

¿Es esto posible en SQL o puede alguien recomendar qué otras herramientas podría usar? (por ejemplo, exportar los datos a un programa de hoja de cálculo no sería un problema)

Respuestas a la pregunta(2)

Su respuesta a la pregunta