Tengo una tabla (MySQL) que captura muestras cada n segundos. La tabla tiene muchas columnas, pero todo lo que importa para esto es dos: una marca de tiempo (del tipo TIMESTAMP) y una cuenta (del tipo INT).SELECCIONAR/AGRUPAR POR - segmentos de tiempo (10 segundos, 30 segundos, etc.)
Lo que me gustaría hacer es obtener sumas y promedios de la columna de recuento en un intervalo de veces. Por ejemplo, tengo muestras cada 2 segundos registradas, pero me gustaría la suma de la columna de conteo para todas las muestras en una ventana de 10 segundos o 30 segundos para todas las muestras.
He aquí un ejemplo de los datos:
+---------------------+-----------------+ | time_stamp | count | +---------------------+-----------------+ | 2010-06-15 23:35:28 | 1 | | 2010-06-15 23:35:30 | 1 | | 2010-06-15 23:35:30 | 1 | | 2010-06-15 23:35:30 | 942 | | 2010-06-15 23:35:30 | 180 | | 2010-06-15 23:35:30 | 4 | | 2010-06-15 23:35:30 | 52 | | 2010-06-15 23:35:30 | 12 | | 2010-06-15 23:35:30 | 1 | | 2010-06-15 23:35:30 | 1 | | 2010-06-15 23:35:33 | 1468 | | 2010-06-15 23:35:33 | 247 | | 2010-06-15 23:35:33 | 1 | | 2010-06-15 23:35:33 | 81 | | 2010-06-15 23:35:33 | 16 | | 2010-06-15 23:35:35 | 1828 | | 2010-06-15 23:35:35 | 214 | | 2010-06-15 23:35:35 | 75 | | 2010-06-15 23:35:35 | 8 | | 2010-06-15 23:35:37 | 1799 | | 2010-06-15 23:35:37 | 24 | | 2010-06-15 23:35:37 | 11 | | 2010-06-15 23:35:37 | 2 | | 2010-06-15 23:35:40 | 575 | | 2010-06-15 23:35:40 | 1 | | 2010-06-17 10:39:35 | 2 | | 2010-06-17 10:39:35 | 2 | | 2010-06-17 10:39:35 | 1 | | 2010-06-17 10:39:35 | 2 | | 2010-06-17 10:39:35 | 1 | | 2010-06-17 10:39:40 | 35 | | 2010-06-17 10:39:40 | 19 | | 2010-06-17 10:39:40 | 37 | | 2010-06-17 10:39:42 | 64 | | 2010-06-17 10:39:42 | 3 | | 2010-06-17 10:39:42 | 31 | | 2010-06-17 10:39:42 | 7 | | 2010-06-17 10:39:42 | 246 | +---------------------+-----------------+
La salida me gustaría (basado en los datos anteriores) debería tener este aspecto:
+---------------------+-----------------+ | 2010-06-15 23:35:00 | 1 | # This is the sum for the 00 - 30 seconds range | 2010-06-15 23:35:30 | 7544 | # This is the sum for the 30 - 60 seconds range | 2010-06-17 10:39:35 | 450 | # This is the sum for the 30 - 60 seconds range +---------------------+-----------------+
he utilizado GROUP BY para reunir estos números por segundo, o por minuto, pero parece que no puedo entender la sintaxis para obtener el sub-minuto o el rango de segundos de los comandos GROUP BY para que funcionen correctamente.
Principalmente voy a utilizar esta consulta para transferir datos de esta tabla a otra tabla.
Gracias!
¡Perfecto! Eso hizo * exactamente * lo que necesitaba! ¡Gracias un montón! –