AnswerBun.com

Agrupar registros según fecha

Stack Overflow en español Asked by Jose Huerta on December 13, 2020

días, noches espero que me puedan ayudar con poco con lo siguiente, la idea es lograr agrupar los registros usando mysql promediando y tenerlo por rangos de 1 minuto, 5 minutos, 15 minutos, 30 minutos, 60 minuts etc.

Actualmente estoy trabajando con un proyecto de arduino e iot donde es un jardín inteligente este envía un registro sobre sus sensores cada 10 segundos a la base de datos todo el tiempo, tengo una plataforma escrita en laravel para poder leer esos datos y representarlos en gráficas basados en el promedio estoy intentando lo siguiente

un ejemplo de mi tabla sensor_data

id, sensor_id, value, created_at

1, 1, 20, 2020-05-05 16:00:23

2, 1, 23, 2020-05-05 16:00:33

3, 1, 25, 2020-05-05 16:00:43

4, 1, 23, 2020-05-05 16:00:53

5, 1, 20, 2020-05-05 16:01:03

y mi consulta para obtenter el promedio en intervalos de 1 minuto es la siguiente

SELECT sensor_id, ROUND(AVG(value)) as average, DATE_FORMAT(created_at, '%Y/%m/%d %H:%i')) as created FROM sensor_data WHERE value > 0 AND value < 1024 AND sensor_id=1 GROUP BY created ORDER BY created DESC

Y con esto obtengo el promedio de cada minuto, pero la duda aqui es que otra forma exise o me recomiendan para poder tener intervalos de 5, 15 o 30 minutos? ya que no puedo agruparlos con el created debido a que uso la fecha para separarlos.

Espero haberme explicado.

One Answer

Te propongo algo así:

SELECT sensor_id, ROUND(AVG(value)) as average,
  CONCAT(
    DATE_FORMAT(created_at, '%Y/%m/%d %H:'),
    ROUND(MINUTE(created_at)/15)*15
  ) as created 
  FROM sensor_data 
  WHERE value > 0 AND value < 1024 AND sensor_id=1 
  GROUP BY created ORDER BY created DESC;

De 00 a 15 te lo agrupa en 00, de 15 a 30 en 15 y así sucesivamente

Para 1, 5, 30 y 60, sustituye el 15 por estas cantidades

Answered by David JP on December 13, 2020

Add your own answers!

Related Questions

como iterar fila por fila en pandas

1  Asked on November 4, 2021 by emanuel-lemos

     

Express.static() en Cpanel no sirve CSS

1  Asked on November 4, 2021 by gabriel-taype

     

React native APK sin servidor

1  Asked on November 4, 2021 by gabocafer

 

Generar imagen php

1  Asked on November 4, 2021

   

Cambiar el valor de input cuando introduzco un numero

0  Asked on November 4, 2021 by razvan-lismanu

     

Como usar variables if en java para dos condiciones

1  Asked on November 4, 2021 by emil-jpz

 

Implementar método async que devuelva un valor decimal

2  Asked on August 27, 2021 by pedro-vila

   

No funciona mi botón con JavaScript

1  Asked on August 27, 2021 by braylin-ivan-payano

   

No puedo llamar Clase

1  Asked on August 27, 2021 by camilo34

   

Porque no funciona mi javascript?

1  Asked on August 27, 2021

     

Python – ayuda con regex

3  Asked on August 27, 2021 by gonzalo-rojo

   

Recibir datos post en node js express js

2  Asked on August 27, 2021 by alejandrognzls

     

Problema con errores en forms Django

1  Asked on August 27, 2021 by lucas-leone

   

Ask a Question

Get help from others!

© 2022 AnswerBun.com. All rights reserved. Sites we Love: PCI Database, MenuIva, UKBizDB, Menu Kuliner, Sharing RPP