SELECT / GROUP BY - Intervalles de temps de segmentation (10 secondes, 30 secondes, etc.)
Pour répondre à la demande d'agrégation des données sur plages de temps personnalisées dans une table de séries chronologiques, nous pouvons utiliser la clause GROUP BY. Cependant, les mécanismes de regroupement standard peuvent ne pas s'aligner sur les segments souhaités.
Pour regrouper les données en intervalles de 10 ou 30 secondes, nous pouvons utiliser la fonction UNIX_TIMESTAMP pour convertir l'horodatage en une représentation numérique, puis utiliser l'opérateur DIV. Par exemple, pour regrouper par intervalles de 30 secondes :
GROUP BY UNIX_TIMESTAMP(time_stamp) DIV 30
De même, pour des intervalles de 20 secondes :
GROUP BY UNIX_TIMESTAMP(time_stamp) DIV 20
Pour ajuster les limites des segments, nous pouvons utiliser la formule suivante :
GROUP BY (UNIX_TIMESTAMP(time_stamp) + r) DIV 30
Où 'r' représente un entier non négatif inférieur à 30. Par exemple, pour regrouper à intervalles de 15 secondes :
GROUP BY (UNIX_TIMESTAMP(time_stamp) + 5) DIV 30
Cela générera des segments de hh:mm:05 à hh:mm:35 et de hh:mm:35 à hh:mm 1:05. En utilisant ces techniques, nous pouvons regrouper efficacement les données sur des intervalles de temps personnalisés, permettant ainsi une analyse granulaire et une synthèse des données.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!