मेरे पास एक डेटा सेट है जिसमें कॉलम Date
, Cat
, और QTY
शामिल हैं। मैं जो करना चाहता हूं वह एक अद्वितीय कॉलम जोड़ता है जो पंक्ति गणना के दौरान अद्वितीय Cat
मानों की गणना करता है। यह वह जगह है क्या मैं अपने परिणाम सेट की तरह लग रहे हैं:row_number() समूह द्वारा?
नीचे SQL क्वेरी का उपयोग करके, मैं row_number()
फ़ंक्शन का उपयोग पंक्ति प्राप्त करने में सक्षम हूँ।
हालांकि, मुझे उस अद्वितीय कॉलम को नहीं मिला है जिसे मैंने ऊपर दिखाया है। जब मैं OVER
खंड में समूह जोड़ता हूं, तो यह काम नहीं करता है। क्या किसी के पास कोई विचार है कि मैं इस अद्वितीय गिनती कॉलम को कैसे काम कर सकता हूं?
SELECT
Date,
ROW_NUMBER() OVER (PARTITION BY Date ORDER By Date, Cat) as ROW,
Cat,
Qty
FROM SOURCE
धन्यवाद, यह सही दिशा में एक कदम है। हालांकि, तथ्य यह है कि मेरे वास्तविक डेटा सेट बिल्ली द्वारा आदेश नहीं दिया जाता है। क्या आप जानते हैं कि यह उस उदाहरण में कैसे काम करेगा? (कल्पना कीजिए कि मेरे बिल्ली कॉलम में, डीईएफ एबीसी से पहले आता है। लेकिन यह सच है कि मेरे ऑर्डरिंग में डीईएफ मूल्य लगातार हैं इसलिए आप डीईएफ, डीईएफ, एबीसी, एबीसी, डीईएफ को बिल्ली कॉलम में मान के रूप में नहीं देख पाएंगे) – user1582928
@ user1582928 प्रति http://msdn.microsoft.com/en-us/library/ms173825.aspx " उस क्रम को निर्धारित करता है जिसमें विभाजन में पंक्तियों पर DENSE_RANK फ़ंक्शन लागू होता है"। और आप हमेशा चयन के अंत में ऑर्डर जोड़ सकते हैं। –
prashanth
@ user1582928, यदि आप चाहते हैं कि आप ऑर्डर बदलने के लिए कोई फ़ंक्शन निर्दिष्ट कर सकें, उदाहरण के लिए: डीकोड ('डीईएफ', 1, 'एबीसी', 2,3) –