मैं निम्नलिखित न्यूमूज़र की कुल संख्या प्राप्त करने के लिए निम्नलिखित लिखने की कोशिश कर रहा हूँ, जैसे:
NumUsers = COUNT(DISTINCT [UserAccountKey]) OVER (PARTITION BY [Mth])
प्रबंधन स्टूडियो इस बारे में बहुत खुश नहीं लगता है। DISTINCTकीवर्ड को हटाते समय त्रुटि गायब हो जाती है , लेकिन तब यह एक अलग गिनती नहीं होगी।
DISTINCTविभाजन कार्यों के भीतर संभव नहीं प्रतीत होता है। मैं अलग-अलग गिनती खोजने के बारे में कैसे जाऊँ? क्या मैं एक अधिक पारंपरिक विधि का उपयोग करता हूं जैसे कि सहसंबंधित उपशम?
इसे थोड़ा आगे बढ़ाते हुए, हो सकता है कि ये OVERकार्य ओरेकल के अलग-अलग तरीके से काम करते हों , जिनका उपयोग इनका उपयोग SQL-Serverचल रहे योगों की गणना करने में नहीं किया जा सकता है ।
मैंने यहां SQLfiddle पर एक लाइव उदाहरण जोड़ा है जहां मैं एक रनिंग कुल की गणना करने के लिए एक विभाजन फ़ंक्शन का उपयोग करने का प्रयास करता हूं।
COUNTकेORDER BYबजायPARTITION BY2008 में बीमार परिभाषित किया गया है। मुझे आश्चर्य है कि यह आपको यह बिल्कुल दे रहा है। प्रति प्रलेखन , आप एक के लिए अनुमति नहीं कर रहे हैंORDER BYएक समग्र समारोह के लिए।