मैं एक जटिल समस्या यह है कि पहली नजर में तुच्छ हो रहा है है:मेरे पास 9 0 दिन की खिड़की पर कितने अलग सक्रिय उपयोगकर्ता थे?
-
किसी दिए गए 90 दिन खिड़की के लिए
- , मैं कितने अलग सक्रिय उपयोगकर्ताओं है?
तालिका मैं इसे क्वेरी करने के लिए उपयोग करूँगा लॉगिन तालिका (रेडशिफ्ट में होस्ट की गई) है, और इसमें लॉग इनटाइम के साथ टाइमस्टैम्प है और उपयोगकर्ता पहचानकर्ता के रूप में उपयोग किया गया है।
जब भी मैं एक दिन के लिए इस उत्तर देना चाहते हैं, तो क्वेरी आसान और सीधा है:
select count (distinct usertoken)
from logins
where datediff('d',logintime,getdate()) <= 90
समस्या जटिल हो जाता है, क्योंकि मैं हर दी गई तारीख के लिए संख्या के साथ तालिका में यह करना चाहते हैं।
07/07 100k
07/06 98k
07/05 99k
07/04 101k
(...)
विंडो कार्यों मेरी मदद नहीं करते, क्योंकि मैं अलग गिनती करने के लिए की जरूरत है, और यह एक खिड़की समारोह में संभव नहीं है।
मेरे ज्ञान के लिए, SQL क्वेरी में पुन: प्रयास करने का कोई तरीका नहीं है।
मुझे इसके बारे में कैसे जाना चाहिए?
कृपया प्रत्येक दी गई तारीख 'पर विस्तृत करें। क्या आप समय सीमा के लिए निचले और ऊपरी बाउंड पास करते हैं? या यादृच्छिक तिथियों की एक सरणी? क्या एक ही उपयोगकर्ता के लिए उसी दिन डुप्लिकेट प्रविष्टियां हो सकती हैं? आपकी मेज कितनी बड़ी है? पंक्तियों की संख्या? प्रति पंक्ति/तालिका परिभाषा बाइट्स। –