Je travaille sur la création d'un tableau pour mon client et il veut obtenir le nombre total de clients sur une période de 24 heures, 3 jours, 1 semaine, 1 mois, etc. Je ne suis honnêtement pas le meilleur avec SQL, donc générer ces requêtes n'est pas mon fort. En ce qui concerne l'obtention des clients pendant plus de 24 heures, j'ai trouvé deux énoncés «où» qui peuvent fonctionner, mais je ne suis pas sûr de savoir lequel est le meilleur.Quel est le meilleur moyen d'obtenir les dernières 24 heures de résultats dans T-SQL?
Première version:
WHERE DATEDIFF(hh,CreatedDate,GETDATE())>24
seconde version:
WHERE CreatedDate >= DATEADD(HH, -24, GETDATE())
La première version génère des 21 rangées et la seconde génère des 17 lignes (à partir du même ensemble de données, bien entendu), de sorte évidemment, l'un est plus précis que l'autre. Je penche pour la première, mais j'aimerais avoir votre avis ... s'il vous plaît.
Merci, Andrew
Je pense que 'WHERE DATEDIFF (hh, CreatedDate, GETDATE())> 24' doit être' WHERE DATEDIFF (hh, CreatedDate, GETDATE()) <24' –
. ..ou plus précisément, 'WHERE DATEDIFF (hh, CreatedDate, GETDATE()) <= 24' pour correspondre à la logique de la seconde :) –