Estoy trabajando en la creación de un gráfico para mi cliente y ellos quieren obtener el conteo total de los clientes durante un período de 24 horas, 3 días, 1 semana, 1 mes, etc. Honestamente, no soy el mejor con SQL, por lo que generar estas consultas no es mi fuerte.¿Cuál es la mejor manera de obtener los últimos resultados de 24 horas en T-SQL?
En lo que respecta a obtener los clientes más de 24 horas, he encontrado dos declaraciones de "dónde" que pueden funcionar, pero no estoy seguro de cuál es la mejor.
Primera versión:
WHERE DATEDIFF(hh,CreatedDate,GETDATE())>24
Segunda versión:
WHERE CreatedDate >= DATEADD(HH, -24, GETDATE())
La primera versión genera 21 filas y el segundo genera 17 filas (desde el mismo conjunto de datos, por supuesto), de modo obviamente, uno es más preciso que el otro. Me estoy inclinando hacia el primero, pero me gustaría su opinión ... por favor.
Gracias, Andrew
creo que 'DONDE DATEDIFF (hh, CreatedDate, GETDATE())> 24' necesita ser' DONDE DATEDIFF (hh, CreatedDate, GETDATE()) < –
24'. ... o más exactamente, 'WHERE DATEDIFF (hh, CreatedDate, GETDATE()) <= 24' para que coincida con la lógica del segundo :) –