Maison >base de données >tutoriel mysql >Comment puis-je regrouper les intervalles de temps dans MS SQL Server 2008 ?

Comment puis-je regrouper les intervalles de temps dans MS SQL Server 2008 ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2025-01-15 15:07:43274parcourir

How Can I Group Time Intervals in MS SQL Server 2008?

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn