मैं अपने ग्राहक के लिए एक चार्ट बनाने पर काम कर रहा हूं और वे 24 घंटे, 3 दिन, 1 सप्ताह, 1 महीने, आदि अवधि में कुल ग्राहक गणना प्राप्त करना चाहते हैं। मैं ईमानदारी से एसक्यूएल के साथ सबसे अच्छा नहीं हूँ, इसलिए इन प्रश्नों को उत्पन्न करना मेरे फोर्टे नहीं हैं।टी-एसक्यूएल में पिछले 24 घंटे के परिणाम प्राप्त करने का सबसे अच्छा तरीका क्या है?
ग्राहकों को 24 घंटे से अधिक प्राप्त करने के संबंध में, मैं दो "कहां" बयान में आया हूं जो काम कर सकते हैं, लेकिन मुझे यकीन नहीं है कि कौन सा सबसे अच्छा है।
प्रथम संस्करण:
WHERE DATEDIFF(hh,CreatedDate,GETDATE())>24
दूसरा संस्करण:
WHERE CreatedDate >= DATEADD(HH, -24, GETDATE())
पहला संस्करण 21 पंक्तियों उत्पन्न करता है और दूसरा (, एक ही डाटासेट से निश्चित रूप से) 17 पंक्तियों उत्पन्न करता है तो जाहिर है कि एक दूसरे की तुलना में अधिक सटीक है। मैं पहले की तरफ झुका रहा हूं, लेकिन मुझे आपकी राय चाहिए ... कृपया।
धन्यवाद, एंड्रयू
मुझे लगता है कि 'कहां DateDiff (hh, CreatedDate, GETDATE())> 24'' होने के लिए जहां DateDiff (hh, CreatedDate, GETDATE()) <24' –
की जरूरत है। .. और अधिक सटीक रूप से, 'दूसरे के तर्क से मेल खाने के लिए दिनांक (एचएच, बनाया गया, GETDATE()) <= 24' कहां है :) –