Agrégation de données temporelles
La clause GROUP BY de MySQL vous permet d'agréger des données sur des intervalles ou des segments de temps spécifiques. Ceci est particulièrement utile lorsqu'il s'agit de données horodatées, vous permettant de résumer et d'analyser efficacement les données sur les plages de temps souhaitées.
Pour y parvenir, vous pouvez tirer parti du fait que MySQL utilise des horodatages Unix pour représenter les dates et les heures. intérieurement. En divisant l'horodatage Unix par l'intervalle souhaité (par exemple, 10 ou 30 secondes), vous pouvez regrouper les données en segments de temps spécifiques.
La syntaxe de regroupement par « segments de temps » à l'aide de GROUP BY est :
GROUP BY UNIX_TIMESTAMP(time_stamp) DIV <interval>
Où
Intervalles de 10 secondes :
GROUP BY UNIX_TIMESTAMP(time_stamp) DIV 10
Intervalles de 30 secondes :
GROUP BY UNIX_TIMESTAMP(time_stamp) DIV 30
Utilisation Avec cette approche, vous pouvez facilement regrouper les données au sein de ces segments temporels spécifiques. Pour calculer la somme de la colonne de comptage pour chaque segment, vous pouvez utiliser la requête suivante :
SELECT UNIX_TIMESTAMP(time_stamp) DIV <interval> AS time_segment, SUM(count) AS total_count FROM table_name GROUP BY time_segment
Par exemple, pour obtenir la somme des valeurs de comptage pour des intervalles de 10 secondes, vous utiliseriez :
SELECT UNIX_TIMESTAMP(time_stamp) DIV 10 AS time_segment, SUM(count) AS total_count FROM table_name GROUP BY time_segment
Cela produira un résultat similaire aux résultats souhaités que vous avez fournis :
time_segment | total_count |
---|---|
2010-06-15 23:35:00 | 1 |
2010-06-15 23:35:30 | 7544 |
2010-06-17 10:39:35 | 450 |
Il est important de noter que les résultats time_segment sont Horodatages Unix, qui représentent le début de chaque segment. Pour afficher les segments horaires dans un format plus convivial, tel que « 2010-06-15 23:35:00 à 2010-06-15 23:35:30 », vous pouvez utiliser un formatage de chaîne supplémentaire dans votre requête.
En ajustant la valeur de
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!