Regroupement d'intervalles de temps MS SQL Server 2008
Lorsque vous travaillez avec des données temporelles, il est utile de regrouper les enregistrements par intervalles de temps tels que les heures ou les minutes. Dans Microsoft SQL Server 2008, la clause GROUP BY
constitue un moyen pratique de procéder.
Le code suivant montre comment regrouper les enregistrements par heure :
<code class="language-sql">SELECT [Date] FROM [FRIIB].[dbo].[ArchiveAnalog] GROUP BY DATEPART(HOUR, [Date])</code>
Pour regrouper les enregistrements par intervalles de 10 minutes, utilisez la syntaxe suivante :
<code class="language-sql">SELECT MIN([Date]) AS RecT, AVG(Value) FROM [FRIIB].[dbo].[ArchiveAnalog] GROUP BY DATEPART(HOUR, [Date]), (DATEPART(MINUTE, [Date]) / 10) ORDER BY RecT</code>
Cependant, cette requête renvoie des valeurs datetime contenant des millisecondes. Pour exclure les millisecondes, ajoutez le code suivant à votre requête :
<code class="language-sql">GROUP BY DATEPART(YEAR, DT.[Date]), DATEPART(MONTH, DT.[Date]), DATEPART(DAY, DT.[Date]), DATEPART(HOUR, DT.[Date]), (DATEPART(MINUTE, DT.[Date]) / 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!