sql - Partition by ignoring some columns -


मुझे यह क्वेरी में है:

ROW_NUMBER () ओवर (भाग द्वारा (NUMB ) OR_CER BY MY_COL2) एएस row_number

यह बहुत अधिक समान रूप से NUMB वेरिएबल के आधार पर मूल्यों को असाइन करेगा। मुझे वास्तव में कुछ स्तंभों के लिए असाइनमेंट को छोड़ने की आवश्यकता है जहां MY_COL3 की तरह 'बहिष्कृत'

क्या इसके ऊपर तर्क को शामिल करने का एक आसान तरीका है?

अगर नहीं है, तो मुझे दो अलग-अलग प्रश्नों को बनाने और एक क्वेरी में उपर्युक्त कार्य का उपयोग करना होगा, और किसी अन्य को (अलग-अलग) के साथ कोई भी असाइन नहीं करना होगा और फिर संघ दोनों प्रश्नों का उत्तर देगा। समस्या यह है कि यह बहुत समय लगता है और बड़ी क्वेरी है और मैं इसे टालना चाहता हूं ... यदि कोई है तो त्वरित समाधान की तलाश करें ...

अधिक जानकारी:

यह अब क्या प्रश्न है (सरलीकृत) NUMB = 4 पर आधारित: ROW NUMBER | USER | पाठ | स्थिति | 1 | विधेयक | ब्लाह 1 | अच्छा 1 | विधेयक | ब्लाह 2 | 2 निकालें | जैक | ब्लाह 3 | अच्छा 2 | जैक | ब्लाह 4 | निकालें 3 | विल | ब्लाह 5 | अच्छा 3 | विल | ब्लाह 6 | 4 को छोड़ दें | एंडी | ब्लाह 7 | अच्छा 4 | एंडी | ब्लाह 8 | अच्छा यह वही है जो मुझे चाहिए: पंक्ति NUMBER | USER | पाठ | स्थिति | 1 | विधेयक | ब्लाह 1 | अच्छा | विधेयक | ब्लाह 2 | 1 बहिष्कृत करें | जैक | ब्लाह 3 | अच्छा | जैक | ब्लाह 4 | 2 निकालें | विल | ब्लाह 5 | अच्छा | विल | ब्लाह 6 | निकालें 3 | एंडी | ब्लाह 7 | अच्छा 4 | एंडी | ब्लाह 8 | अच्छा

पंक्तियों को दो केस < / कोड> बयान पहले से दो अलग-अलग विभाजन बनाता है, बाहर की गई पंक्तियों में से एक और पंक्तियों में से एक के लिए जो आपको परवाह है बाहरी मामला फिर बाहर की गई पंक्तियों के लिए रिक्त प्रदर्शित करता है।

  स्थिति का चयन करें जब स्थिति = 'बहिष्कृत' है तो शून्य और row_number () से अधिक (विभाजन द्वारा स्थिति = 'बहिष्कार करें', तब सुन्न होने के बाद 0 और 1 अंत क्रम) नए न्यूजलेटर, डेटा। * से (चयन करें 1 अंकुश, 'बिल' नाम, 'ब्लाह 1' पाठ, दोहरी संघ से 'अच्छा' स्थिति सभी का चयन करें 1 अंकुश, 'बिल' नाम , 'ब्लाह 2' टेक्स्ट, दोहरी संघ से 'बहिष्कृत' स्थिति सभी चयन 2 सुन्न, 'जैक' नाम, 'ब्लाह 3' पाठ, दोहरी संघ से 'अच्छा' स्थिति, सभी चयन 2 सुन्न, 'जैक' नाम, 'ब्लाह 4' पाठ, दोहरे संघ से 'बहिष्कृत' स्थिति का चयन करें 3 अंकुश, 'विल' नाम, 'ब्लाह 5' पाठ, दोहरी संघ से 'अच्छा' स्थिति सभी का चयन करें 3 सुन्न, 'विल' नाम, 'ब्लाह 6' पाठ, 'दोबारा से बाहर' स्थिति संघ सभी का चयन 4 सुन्न, 'एंडी' नाम, 'ब्लाह 7' पाठ, दोहरी संघ से 'अच्छा' स्थिति सभी चार चयन सुन्न, 'एंडी' नाम, 'blah8' पाठ, सुन्न द्वारा दोहरी 'डाटा ऑर्डर' की स्थिति, स्थिति का विवरण;  

परिणाम बिल्कुल मेल नहीं खाते हैं उदाहरण नए पंक्ति संख्या के लिए 1 बार दो बार उपयोग करता है - क्या यह गलती है?

  NEW_ROWNUMBER NUMB NAME परीक्षण स्थिति ------------- ---- - ------ ------ 1 1 बिल ब्लाह 1 अच्छा 1 विधेयक ब्लाह 2 बहिष्कृत 2 2 जैक ब्लाह 3 अच्छा 2 जैक ब्लाह 4 छोड़ दें 3 3 ब्लाह 5 अच्छा 3 ब्लाह 6 बकाया 5 4 एंडी ब्लाह 7 अच्छा 4 4 एंडी ब्लाह 8 अच्छा < / कोड> 

Comments

Popular posts from this blog

sql - Find last match with latest inserted name in table -

c# - XML serialize base class without knowing derived class -

ios - Invalid IPA: missing embedded provisioning profile. Are you sure this is an ad hoc? -