Maison >base de données >tutoriel mysql >Comment puis-je regrouper efficacement les données temporelles par heures ou par intervalles de 10 minutes dans SQL ?
Explication détaillée du regroupement de données temporelles SQL
Dans l'analyse des données, le traitement des données de séries chronologiques nécessite généralement un regroupement par temps afin de résumer et d'identifier efficacement les modèles. La clause GROUP BY
de SQL peut y parvenir, mais spécifier précisément la granularité du regroupement est parfois délicat.
Regrouper par heures ou intervalles de 10 minutes
Dans MS SQL 2008, vous pouvez utiliser la fonction DATEPART
pour regrouper les heures par heures ou par intervalles de 10 minutes. Cette fonction reçoit un champ de date en entrée et renvoie la partie spécifiée de cette date. Pour regrouper par heure, utilisez :
<code class="language-sql">GROUP BY DATEPART(HOUR, [Date])</code>
De même, regroupez par intervalles de 10 minutes :
<code class="language-sql">GROUP BY (DATEPART(MINUTE, [Date]) / 10)</code>
Supprimer les millisecondes de la sortie de date
Dans certains cas, il peut être nécessaire d'exclure les millisecondes de la sortie date/heure générée. Pour ce faire, vous pouvez utiliser la formule suivante :
<code class="language-sql">DATEPART(YEAR, DT.[Date]) -- 年份 DATEPART(MONTH, DT.[Date]) -- 月份 DATEPART(DAY, DT.[Date]) -- 天 DATEPART(HOUR, DT.[Date]) -- 小时 (DATEPART(MINUTE, DT.[Date]) / 10) -- 10分钟间隔(无毫秒)</code>
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!