Quelle est la meilleure façon d'obtenir les résultats des 24 dernières heures dans T-SQL?

Je travaille sur la création d'un graphique pour mon client et qu'ils veulent pour obtenir le total de clients comptent sur 24 heures, 3 jours, 1 semaine, 1 mois, etc période. Je suis honnêtement pas le meilleur avec SQL, donc la production de ces requêtes ne sont pas mon fort.

En ce qui concerne l'obtention de la les clients de plus de 24 heures, j'ai rencontré deux "où" des déclarations qui peuvent travailler, mais je ne suis pas sûr de qui est le meilleur.

Première version:

WHERE DATEDIFF(hh,CreatedDate,GETDATE())>24

Deuxième Version:

WHERE CreatedDate >= DATEADD(HH, -24, GETDATE())

La première version génère de 21 lignes et la seconde génère 17 lignes (à partir du même ensemble de données, bien sûr) alors, évidemment, on est plus précis que les autres. Je penche pour la première, mais j'aimerais avoir votre avis... s'il vous plaît.

Grâce,
Andrew

source d'informationauteur ajtatum