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