Tôi đang làm việc để tạo biểu đồ cho khách hàng của mình và họ muốn nhận tổng số khách hàng trong khoảng thời gian 24 giờ, 3 ngày, 1 tuần, 1 tháng, v.v. Tôi thành thật không phải là tốt nhất với SQL, do đó, tạo ra các truy vấn này không phải là sở trường của tôi.Whats cách nào tốt nhất để có được kết quả trong 24 giờ qua trong T-SQL?
Liên quan đến việc nhận khách hàng trong vòng 24 giờ, tôi đã xem hai câu lệnh "ở đâu" có thể hoạt động, nhưng tôi không chắc đó là điều tốt nhất.
Phiên bản đầu tiên:
WHERE DATEDIFF(hh,CreatedDate,GETDATE())>24
Version Thứ hai:
WHERE CreatedDate >= DATEADD(HH, -24, GETDATE())
Phiên bản đầu tiên tạo ra 21 dòng và lần thứ hai tạo ra 17 dòng (từ tập dữ liệu cùng, tất nhiên) để rõ ràng là một cái chính xác hơn cái kia. Tôi đang nghiêng về phía đầu tiên, nhưng tôi muốn ý kiến của bạn ... xin vui lòng.
Xin cảm ơn, Andrew
Tôi nghĩ rằng 'Ở ĐÂU DATEDIFF (hh, CreatedDate, getdate())> 24' cần phải được' Ở ĐÂU DATEDIFF (hh, CreatedDate, getdate()) <24' –
. ..để chính xác hơn, 'WHERE DATEDIFF (hh, CreatedDate, GETDATE()) <= 24' để khớp với logic của câu lệnh thứ hai :) –